08- Flynn’s Classification Of Computers- SIMD- Single Instruction Multiple Data- COA
CLICK HERE TO Download This PDF NOTES
Flynn's classification
Single Instruction And Multiple Data Stream (SIMD):
In this organisation, multiple processing element work under the control of a single control unit.
It has one instruction and multiple data stream.
• All the processing elements of this organisation receive the same instruction broadcast from that CU.
• Main memory can also be divided into modules for generating multiple data streams acting as a distributed memory.
• Therefore all the processing element simultaneously execute the same instruction and are said to be 'Lock-stepped' together.
• Each processor takes the data from its own memory and hence it has on distinct data stream.
Some system also provide a shared global memory for communication.
Every Processor must be allowed to complete its instructions before the next construction is taken for execution.
Thus execution of instruction is synchronous.
For Example- ILLIAC-4
- PEPE,
- MPP
- BSP,
- STARAN and
- CONECTION MACHINE (CM-1)
Consider the addition of two numbers A and B to create sum vector C. That is
c[i]=a[i]+b[i] 1<=<=N
This computation requires N add times plus the loop control overhead on an SISD.
Also SISD Processor has to fetch the instruction corresponding to this program from the memory each time through loop.
•The element of Array A and B are distributed over N memory blocks and hence each PE has access to one pair of operands to be added.
Thus, the program for SIMD consists of one instructions
C=A+B
This instruction is equivalent toC[i]=A[i]+B[i] (i<=i<=N)
Where, i represent the PE that is performing the addition of the ith elements and the expression in parentheses implies that all N PEs are active simultaneously.
Total execution time for this computation is the time to fetch one instruction Plus time for one addition.
The data need to be structured in N memory block to provide for the simultaneous access of the N data elements.
"SIMD more suitable for array or vector processing".