Professional Documents
Culture Documents
Chap. 9 Pipeline and Vector Processing
Chap. 9 Pipeline and Vector Processing
To Memory
1) SISD (Single Instruction - Single Data stream) Incrementer
Processor
» for practical purpose: only one processor is useful registers
Floatint-point
add-subtract
» Example systems : Amdahl 470V/6, IBM 360/91
Floatint-point
IS multiply
Floatint-point
divide
CU PU MM
IS DS
Computer System Architecture Chap. 9 Pipeline and Vector Processing Dept. of Info. Of Computer
9-2
2) SIMD
Shared memmory
(Single Instruction - Multiple Data stream) DS 1
PU 1 MM 1
» vector or array operations one vector
operation includes many operations on a DS 2
data stream PU 2 MM 2
IS
» Example systems : CRAY -1, ILLIAC-IV CU
DS n
PU n MM n
IS
3) MISD
(Multiple Instruction - Single Data stream)
» Data Stream Bottle neck DS
IS 1 IS 1
CU 1 PU 1
Shared memory
IS 2 IS 2
CU 2 PU 2 MM n MM 2 MM 1
IS n IS n
CU n PU n
DS
Computer System Architecture Chap. 9 Pipeline and Vector Processing Dept. of Info. Of Computer
9-3
4) MIMD
(Multiple Instruction - Multiple Data stream)
» Multiprocessor Shared memory
IS 1 IS 1 DS
System CU 1 PU 1 MM 1
IS 2 IS 2
CU 2 PU 2 MM 2
v v
IS n IS n
CU n PU n MM n
Computer System Architecture Chap. 9 Pipeline and Vector Processing Dept. of Info. Of Computer
Computer Architecture 9-4
Classifications
Processor Organizations
Single Instruction,
Single Instruction, Multiple Instruction
Multiple Instruction
Single Data Stream Multiple Data Stream Single Data Stream
Multiple Data Stream
(SISD) (SIMD) (MISD)
(MIMD)
Uniprocessor Vector Array Shared Memory
Multicomputer
Processor Processor (tightly coupled)
(loosely coupled)
Computer System Architecture Chap. 9 Pipeline and Vector Processing Dept. of Info. Of Computer
9-5
9-2 Pipelining
Pipelining Decomposing a sequential process into suboperations
Each subprocess is executed in a special dedicated segment concurrently
Pipelining:
Multiply and add operation : ( for i = 1, 2, …, 7 )
Suboperation Segment
A i * Bi C i
Computer System Architecture Chap. 9 Pipeline and Vector Processing Dept. of Info. Of Computer
Figure 9-2 9-6
Example of Pipelining.
Ai Bi Ci
R1 Ai , R2 Bi
R1 R2
Input Ai and Bi
R3 R1 * R2, R4 Ci
Multiply and input Ci Multiplier
R5 R3 + R4
R3 R4
Add Ci to product
Adder
R5
6
Computer System Architecture Chap. 9 Pipeline and Vector Processing Dept. of Info. Of Computer
9-7
Table 9-1
Clock
Pulse
Segment1 Segment2 Segment3
number R1 R2 R3 R4 R5
7
Computer System Architecture Chap. 9 Pipeline and Vector Processing Dept. of Info. Of Computer
9-8
General considerations
4 segment pipeline :
» S : Combinational circuit for Suboperation
» R : Register(intermediate results between the segments)
Space-time diagram : Segment
» Show segment utilization as a function of time versus
clock-cycle
Task : T1, T2, T3,…, T6
» Total operation performed going through all the segment
Computer System Architecture Chap. 9 Pipeline and Vector Processing Dept. of Info. Of Computer
9-9
Segment
. 3 T1 T2 T3 T4 T5 T6
4 T1 T2 T3 T4 T5 T6
Computer System Architecture Chap. 9 Pipeline and Vector Processing Dept. of Info. Of Computer
9-10
4 segments suboperations
» 1) Compare exponents by subtraction : Exponents
a b
Mantissas
A B
3-2=1
R R
X = 0.9504 x 103
Y = 0.8200 x 102 Compare Difference
Segment 1 : exponents
» 2) Align mantissas by subtraction
X = 0.9504 x 103
Y = 0.08200 x 103 R
R R
Adjust Normalize
Segment 4 :
exponent result
R R
Computer System Architecture Chap. 9 Pipeline and Vector Processing Dept. of Info. Of Computer
9-11
Fetch instruction
Segment 1 :
Decode instruction
Instruction Cycle
Segment 2 : and calculate
effective address
4 FI FI DA FO EX
» 4) EX : Execution
5 FI DA FO EX
Timing of Instruction Pipeline : Fig. 9-8
6 FI DA FO EX
» Instruction Branch 7 FI DA FO EX
No Branch Branch
Computer System Architecture Chap. 9 Pipeline and Vector Processing Dept. of Info. Of Computer
9-12
Computer System Architecture Chap. 9 Pipeline and Vector Processing Dept. of Info. Of Computer