retagged by
11,378 views
35 votes
35 votes

Comparing the time T1 taken for a single instruction on a pipelined CPU with time T2 taken on a non-pipelined but identical CPU, we can say that

  1. T1 ≤ T2
  2. T1 ≥ T2
  3. T1 < T2
  4. T1 and T2 plus the time taken for one instruction fetch cycle
retagged by

4 Answers

Best answer
60 votes
60 votes

Here we are comparing the execution time of only a single instruction. Pipelining in no way improves the execution time of a single instruction (the time from its start to end). It increases the overall performance by splitting the execution to multiple pipeline stages so that the following instructions can use the finished stages of the previous instructions. But in doing so pipelining causes some problems also as given in the below link, which might slow some instructions. So, (B) is the answer. 

http://www.cs.wvu.edu/~jdm/classes/cs455/notes/tech/instrpipe.html

edited by
37 votes
37 votes

When pipeline stages are perfectly balanced (uniform delay) then 1 task execution time in the pipeline is also equal to one task execution time in the non-pipeline.

$Ex: k(stages)=4, n(instruction)=1,cycle time=2ns$

Execution time of pipeline $= 8ns$

Execution time of non-pipeline $= S1+S2+S3+S4=2+2+2+2=8ns$


When pipeline stages are not perfectly balanced then 1 task execution time in the pipeline is greater than one task execution time in the non-pipeline.

Note: If execution time is greater than why we are using pipelining ? It is greater only for one task but when $n\rightarrow\infty$ pipeline performance is way better than non-pipeline.

$Ex: k(stages)=4, n(instruction)=1,cycle time=max(2,6,4,2)=6$

Execution time of pipeline $= 24ns$

Execution time of non-pipeline $= S1+S2+S3+S4=2+6+4+2=14ns$


$\therefore T1\geqslant T2$

2 votes
2 votes
T1>=T2 because in order the carry out the pipelining we need to add certain buffers between different stages of a pipeline in order to control the flow of data and maintaining CPI for intructions.
–4 votes
–4 votes
Everywhere answer given is (B) I cant understand why ... can anyone explain?

I am getting (A)
Answer:

Related questions

1 votes
1 votes
1 answer
3
Kathleen asked Sep 14, 2014
2,611 views
To put the 8085 microprocessor in the wait statelower the HOLD inputlower the READY inputraise the HOLD inputraise the READY input