Unit 9: Fundamentals of Parallel Processing
Unit 9: Fundamentals of Parallel Processing
Processing
Lesson 1 : Types of Parallel Processing
Registers
ALU
210
Fundamentals of Parallel Processing
211
Digital Systems and Computer Organization
1.3. Exercise
i) SISD
ii) SIMD
iii) MISD
iv) MIMD.
212
Fundamentals of Parallel Processing
213
Digital Systems and Computer Organization
Instruction
#1 Fetch Decode Execute
Instruction
#2 Fetch Decode Execute
Instruction
#3 Fetch Decode Execute
Instruction
#4 Fetch Decode Execute
Instruction
#5 Fetch Decode Execute
Instruction
#6 Fetch Decode Execute
Instruction
#7 Fetch Decode Execute
214
Fundamentals of Parallel Processing
bi bi-1 bi-2
2.2. Exercise
215
Digital Systems and Computer Organization
Array processor has its own memory but all the processors share the
same control unit. Array processors are usually in a grid formation of
rows and columns and work well for matrix applications. A two
dimensional grid of processing elements executes an instruction stream
broadcast from a central control processor. As each instruction is
broadcast, all elements is connected to its four nearest neighbors for
purposes of exchanging data. End around connections may be provided
on both rows and columns.
Control
Processor
216
Fundamentals of Parallel Processing
Control Unit
Fig. 9.5 shows 2×3 array: each unit has local memory and a processor
with shared control. Each processing element has a dew registers and
local memory to store data. It also has a register, which is called network
register. This register facilitate movement of values to and from its
neighbors. The control processor can broadcast an instruction to shift the
values in the network registers one step up, down, left or right. Each
processing element also contains an ALU to execute arithmetic
instructions broadcast by the control processor. Using these basic
facilities, a sequence of instructions can be broadcast repeatedly to
implement the iterative loop. Array processors are highly specialized
machines. They are well suited to numerical problems that can be
expressed in matrix or vector format. However, they are not very useful
in speeding up general computations.
217
Digital Systems and Computer Organization
3.2. Exercise
i) own memory
ii) different memory
iii) two memory
iv) all of the above.
i) computers
ii) machines
iii) diodes
iv) none of the above.
218
Fundamentals of Parallel Processing
Interconnection Network
M1 M2 MK
Memories
P1 M1 P2 M2 Pn Mn
Interconnection Network
Global
Memory
219
Digital Systems and Computer Organization
The way in which the local memory is used varies from one system to
another. Normally, each processor accesses instructions and data form
its own local memory. The interconnection network provides access
from any processor to a global memory. This memory holds programs
and data that can be shared among the processors, providing a means for
interaction among the tasks performed by the processors. These tasks
may be components of a single large application that has been divided
into sub-tasks. They may also be independent tasks that require the use
of some shared resources such as printers or magnetic disks. The
relationship between the information stored in the local memories and
that stored in the global memory.
For example, a 2×2 crossbar switch has two inputs and two outputs. The
switch will permit input i (i = 0 or 1) to be connected to output i, and
also input i to be connected to output (i+1) mod 2.
Sp = T0 / Tp
220
Fundamentals of Parallel Processing
221
Digital Systems and Computer Organization
4.6. Exercise
i) clock speed
ii) number of instructions per second
iii) number of processor
iv) number of data.
i) Formula Translator
ii) Formula Transmission
iii) Function Translation
iv) none of the above.
222
Fundamentals of Parallel Processing
i) a multiprocessor
ii) a vector processor
iii) array processor
iv) none of the above.
223
Digital Systems and Computer Organization
224