You are on page 1of 20

5 Module

th

PARALLEL PROCESSING
Syllabus Topic
• Basic parallel processing architecture
• Flynn’s Classification
Basic Parallel Processing
Architecture
• A computer system is said to be using a
Parallel Processing System if it provides
facilities for simultaneous processing of various
sets of data or simultaneous execution of
multiple instructions.
• That is the system uses such techniques which
allows for concurrent execution of multiple
tasks.
•This method would increase the
computational speed of processing system.
• For example while an instruction is being
executed another instruction can be fetched
from the memory by the CPU, at the same time
in parallel processing system.
• Parallel processing at a higher level of
complexity can be achieved by having a
multiplicity of functional units that perform
identical or different operations simultaneously.
• A multifunctional organization is usually
associated with a complex control unit to co-
ordinate all the activities among the various
components.
Eg: Processor with multiple functional units
• Fig shows one of the possible way of separating the
execution unit into 8 functional units operating in parallel.
• The operands in the registers are applied to one of the units
depending on the operation specified by the instruction
associated with the operands.
• The operation performed in each functional unit is indicated
in each block of diagram.
• The adder and integer multiplier perform the arithmetic
operations with integer numbers.
• The floating point operations are separated into 3 circuits
operating in parallel.
• The logic, shift and increment operations can be performed
concurrently on different data. All units are independent of
each other.
• Variety of ways are there to classify parallel
processing.
• It can be considered from the internal
organization of processors, from the
interconnection between processors or from the
flow of information through the system.
• M.J Flynn considers the organization of
computer system by the number of instructions
and data items that are manipulated
simultaneously.
Flynn’s Classification
• Flynn’s classification divides computers into
four major groups as follows:

Single Instruction Stream, single data stream (SISD)


Single Instruction Stream, multiple data stream (SIMD)
Multiple Instruction Stream, Single Data Stream (MISD)
Multiple Instruction Stream, Multiple Data Stream (MIMD)
• An instruction stream is a sequence of
instructions executed by the machine.
• A data stream is a sequence of data including
input, partial or temporary results, called for by
the instruction stream
SISD, SIMD, MISD, MIMD Structures
Single Instruction Stream, single data stream (SISD)

SISD 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. Parallel processing in
this case may be achieved by means of
multiple functional units or by pipeline
processing.
Single Instruction Stream, Multiple Data
Stream (SIMD)
SIMD represents an organization that includes
many processing units under the supervision
of a common unit. 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.
Multiple Instruction Stream, Single Data
Stream (MISD)
In MISD computers, multiple instructions are
transmitted to multiple processors , each of
which will execute a single data stream
sequence. There are n processor units each
receiving distinct instructions operating over
the same data stream and its derivatives. The
results(output) of one processor become the
input(operand) of the next processor. No real
embodiment of this class exists.
Multiple Instruction Stream, Multiple Data
Stream (MIMD)
MIMD organization refers to a computer system capable of
processing several programs at the same time. Most
multiprocessor and multi computer systems can be
classified in this category. If the n data streams were
derived from disjoint subspaces of the shared memories,
then we would have so called multiple SISD (MSISD)
operation, which is nothing but a set of n independent
SISD uniprocessor systems.
If the processing is high it is called Tightly Coupled and
Loosely Coupled vice-versa.

You might also like