Pipeline and Vector Processing
Pipeline and Vector Processing
UNIT-5
PARALLEL PROCESSING
PIPELINING
ARITHMETIC PIPELINE
INSTRUCTION PIPELINE
RISC PIPELINE
VECTOR PROCESSING
ARRAY PROCESSING
Sequentially processing each instruction takes a long time and much CPU time is
wasted.
If the instructions are executed all together in parallel, the time taken is the same as
the time for a single instruction execution in a serial manner. In this case, the CPU
time is saved.
Parallel Processing is a term used to define a technique that is used to provide
simultaneous data processing tasks to increase the computational speed of a computer
system.
The purpose of parallel processing is to speed up the computer processing capability
and increase its throughput. Throughput is the amount of processing that can be
accomplished during a given interval of time.
Due to parallel processing, the hardware requirement increases and the cost of
the system also increases.
Parallel Processing can be viewed at various levels of complexity.
i. At the lowest level of complexity, we distinguish between serial and parallel
operations by the type of registers used. Shift registers operate serially one bit
at a time, while in parallel load operations, the data is loaded at a time.
ii. At a higher level of complexity, we use functional units that perform identical
or different operations simultaneously. Parallel processing is established by
distributing the data among multiple functional units.
Multiple Functional Units: Consider an example of ALU as explained below.
R1 Ai
R2 Bi
R 3 R 1 + R2
R4 Ci
R 5 R 3 + R5
The first clock pulses place the operands A1 and B1 into R1 and R2 Registers.
During the second clock pulse, the product of R1 and R2 is placed in R3, operands
A2 and B2 are placed in R1 and R2 and Ci is places in R4
The complete pipelining process for the above instruction is shown in the table
below