in CO and Architecture edited by
10,076 views
35 votes
35 votes

A processor takes $12$ cycles to complete an instruction I. The corresponding pipelined processor uses $6$ stages with the execution times of $3, 2, 5, 4, 6$ and $2$ cycles respectively. What is the asymptotic speedup assuming that a very large number of instructions are to be executed?

  1. $1.83$
  2. $2$
  3. $3$
  4. $6$
in CO and Architecture edited by
10.1k views

1 comment

A really good question.
0
0

6 Answers

68 votes
68 votes
Best answer
For non pipeline processor we have n instruction and each instruction take
$12$ cycle so total $12n$ instruction.

For pipeline processor we have each stage strict to $6ns$ so time to complete
the $n$ instruction is $6\times 6+ (n-1)\times 6$.

$\lim_{n \to \infty }\dfrac{12n}{36 + (n-1)\times 6}=\dfrac{12}{6} =2$.

Correct Answer: $B$
edited by

4 Comments

edited by
CShub ans makes more sense than best answer.
0
0
edited by
@HitechGa absolutely correct reasoning. But then in synchronous pipeline, we also assume that CPI =1 , i.e. 1 CPI. So, 1 clock cycle time in pipeline = max. of all stage delays. Correct me if I am wrong
0
0
edited by

@Arjun @gatecse Sir the best answer provided is wrong.

S1S2S3S4S5S6
I13510142022
I26815192628
I391120243234

In pipelined for 3 instructions total cycles needed are 34. 

For n instructions total cycles needed are 22+[(n-1)*6].

In non pipelined for n instructions total cycles needed are 12n.

Speed up= $\lim_{n \to \infty} \frac{12n}{22+[(n-1)*6]}$ = $\frac{12}{6}$ = 2

1
1
28 votes
28 votes
Speed Up= Time without Pipeline / Time with Pipeline

Time without Pipeline =12 cycle

Time with Pipeline = 6 cycle    take maximun one

Speed up =12/6=2
18 votes
18 votes

Speed Up= Time without Pipeline / Time with Pipeline

                 =n*tn/[k+(n-1)]tp

where, Time without Pipeline= n*tn

Time with Pipeline= [k+(n-1)]tp

but in the question it is given that "assuming that a very large number of instructions are to be executed" ie. n>>k

therefore ,Time with Pipeline= n*tp   (as n is very large so k becomes zero)

now, speedup= n*tn/n*tp

                      =tn/tp

                       =12/6 = 2 

3 votes
3 votes

Option B

Answer:

Related questions