Vous êtes sur la page 1sur 20

Pipelining

1 eee/dsdca/sv
2

Parallel processing

Provide simultaneous data processing

Concurrent data processing

Increase computational speed of computer system

Faster execution time

Increase throughput

Speed up computer processing capability


eee/dsdca/sv
3

Parallel processing under


pipelining
Pipelining
Implementation technique in which multiple
instructions are overlapped in execution to make
processors fast

Tasks operate concurrently

Take less time

Improves throughput
eee/dsdca/sv
4

Pipeline processing
Any operation that can be decomposed into a
sequence of sub operations

In a pipelined processor, different sections of the


processor perform different steps of the
instruction cycle for different instructions at a
given time.

Application
Repeat same task many times
eee/dsdca/sv
5

General structure of a four


segment pipeline

latch
latch

latch
latch
Segment 1 Segment 2 Segment 3 Segment 4

input
H1 H2 H3 H4

clock

eee/dsdca/sv
6

Operands pass through all 4 segments in a fixed


sequence

Each segment consist of a combinational circuit Si


performs a sub-operation over the data stream

Segments separated by registers Ri


Hold the intermediate results between the stages

Task total operation performed in the pipeline


eee/dsdca/sv
7

Assume task T:perform 4 operations


A1,A2,A3,A4

4 tasks executed in 4 segments

To complete 4 instructions
Non pipelined processor (4 x 4)= 16 clock cycles
Pipelined processor = 7 clock cycles =
4 (segment ) + 4(task) -1
eee/dsdca/sv
8

Overlapped execution of
four tasks using a pipeline

eee/dsdca/sv
9

For example:

eee/dsdca/sv
10

Let
Ti - propagation delays of segment i
TL - propagation delay of latch
T- pipeline clock period

T = max(T1,T2,Tn)+ TL
The segment with max delay(bottleneck) decides
pipeline clock period T

Pipeline clock frequency = reciprocal of T

eee/dsdca/sv
11

Consider
the execution of m tasks
using an n-segment pipeline

Ist task will be completed after n clock cycles

m-1 tasks are shipped out at the rate of one task per
pipeline clock

n+m-1 clock cycle periods are required to complete m


tasks using an n- segment pipeline

If all m tasks are executed without any overlap, mn clock


periods are needed. eee/dsdca/sv
12

Speed, gained by n segment pipeline


Speed up= = p(n)
+

/
=

eee/dsdca/sv
13

p(n)n when m is very large


lim = lim = =n
+1

For large number of tasks performed in a


pipeline ,the speed of processing increases n
times as compared to the conventional
sequential machine
eee/dsdca/sv
14

Throughput

Throughput of an n segment pipeline,u(n) =

number of tasks computed per unit time


= =
+

For large value of m, u(n) approaches 1/T,


pipeline frequency

Throughput of an ideal pipeline = reciprocal


of its clock period eee/dsdca/sv
15

Efficiency of an n segment pipeline = E(n)

()
= =

When m is large E(n) approaches 1

eee/dsdca/sv
16

Example
For a 4 segment floating point pipeline the
propagation delays of the segments are given
below.
Assume T1= 40ns, T2= 100ns, T3=180ns, T4=60ns, Tl
=20ns
a) Determine the pipeline clock rate
b) Find the time taken to add 1000 pairs of floating
numbers using this pipeline
c) What is the efficiency of the pipeline when 2000
pairs of numbers are added?
eee/dsdca/sv
17

a) Determine the pipeline


clock rate
pipeline clock period
= max(T) + Tlatch
= 180ns + 20ns = 200ns

Pipeline clock rate = 1/T = 1/200ns =5MHz

eee/dsdca/sv
18

b)Find the time taken to add


1000 pairs of floating
numbers using this pipeline

(4 segments + 1000 -1)200ns = 200.6sec

eee/dsdca/sv
19

c)What is the efficiency of


the pipeline when 2000
pairs of numbers are added?

() 2000 4
+1
= = =0.998 = 99.8%
4+20001

eee/dsdca/sv
20

Thank you

eee/dsdca/sv

Vous aimerez peut-être aussi