Title: Pipeline And Vector Processing
1Pipeline And Vector Processing
2Parallel Processing
Execution of Concurrent Events in the computing
process to achieve faster Computational Speed
The purpose of parallel processing is to speed up
the computer processing capability and increase
its throughput, that is, the amount of processing
that can be accomplished during a given interval
of time.
The amount of hardware increases with parallel
processing, and with it, the cost of the system
increases.
However, technological developments have reduced
hardware costs to the point where parallel
processing techniques are economically feasible.
3Parallel processing according to levels of
complexity
At the lower level
Serial Shift register VS parallel load registers
At the higher level
Multiplicity of functional units that performer
identical or different operations simultaneously.
4Parallel Computers
5SISD COMPUTER SYSTEMS
6Von Neumann Architecture
7MISD COMPUTER SYSTEMS
8SIMD COMPUTER SYSTEMS
9MIMD COMPUTER SYSTEMS
10PIPELINING
A technique of decomposing a sequential process
into suboperations, with each subprocess being
executed in a partial dedicated segment that
operates concurrently with all other segments.
A pipeline can be visualized as a collection of
processing segments through which binary
information flows.
The name pipeline implies a flow of information
analogous to an industrial assembly line.
11Example of the Pipeline Organization
12OPERATIONS IN EACH PIPELINE STAGE
13GENERAL PIPELINE
14Cont.
15Speedup ratio of pipeline
16Cont.
17PIPELINE AND MULTIPLE FUNCTION UNITS
18Cont.
19ARITHMETIC PIPELINE
20Cont.
See the example in P. 310
21INSTRUCTION CYCLE
22INSTRUCTION PIPELINE
23INSTRUCTION EXECUTION IN A 4-STAGE PIPELINE
24Pipeline
25Space time diagram
26MAJOR HAZARDS IN PIPELINED EXECUTION
Structural hazards (Resource Conflicts) Hardware
resources required by the instructions simultaneo
us overlapped execution cannot be met.
Data hazards (Data Dependency Conflicts) An
instruction scheduled to be executed in
the pipeline requires the result of a previous
instruction, which is not yet available.
Control hazards (Branch difficulties) Branches
and other instructions that change the PC make
the fetch of the next instruction to be delayed.
27Data hazards
Control hazards
28STRUCTURAL HAZARDS
Occur when some resource has not been duplicated
enough to allow all combinations of instructions
in the pipeline to execute.
Example With one memory-port, a data and an
instruction fetch cannot be initiated in the same
clock.
The Pipeline is stalled for a structural hazard
lt- Two Loads with one port memory
-gt Two-port memory will serve
without stall
29DATA HAZARDS
30FORWARDING HARDWARE
31INSTRUCTION SCHEDULING
32CONTROL HAZARDS
33CONTROL HAZARDS
34CONTROL HAZARDS
35VECTOR PROCESSING
There is a class of computational problems that
are beyond the capabilities of conventional
computer. These problems are characterized by the
fact that they require a vast number of
computations that will take a conventional
computer days or even weeks to complete.
36VECTOR PROCESSING
37VECTOR PROGRAMMING
38VECTOR INSTRUCTIONS
39Matrix Multiplication
The multiplication of two nxn matrices consists
of n2 inner products or n3 multiply-add
operations.
Example Product of two 3x3 matrices
c11 a11b11a12b21a13b31
This requires 3 multiplications and 3 additions.
The total number of multiply-add required to
compute the matrix product is 9x327.
In general, the inner product consists of the sum
of k product terms of the form
C A1B1A2B2A3B3Ak Bk
40C A1B1A5B5A9B9A13 B13
A2B2A6B6A10B10A14 B14
A3B3A7B7A11B11A15 B15
A4B4A8B8A12B12A16 B16
41VECTOR INSTRUCTION FORMAT
42MULTIPLE MEMORY MODULE AND INTERLEAVING
43MULTIPLE MEMORY MODULE AND INTERLEAVING
44MULTIPLE MEMORY MODULE AND INTERLEAVING
45ARRAY PROCESSOR
46attached array processor with host computer
47SIMD array processor Organization
48Dont forget, try to solve the questions of the
chapter