retagged by
578 views
1 votes
1 votes

A program executes on a non-pipelined processor in time t. The same program is executed on a m-stage pipelined processor, with each stage delay d. Then, how it is that the execution time of the program on the pipelined processor is given in terms of t, m and d as follows

Execution Time on pipelined processor = (t / m) + d * m

I understand the term "d * m" but how can we have this term "t / m". I can't understand the logic behind this term. Please explain.

retagged by

1 Answer

Best answer
4 votes
4 votes
A program executes on a non-pipelined processor in time t. {means all instruction is executed in t time}
single instruction take time in execution is m*d {number of stage m, each stage delay is d}
So number of instruction is t/(m*d)

now execution time on pipeline is (n-1+k)*d
where n=#'s of instruction ,   k=stage  ,  d=stage_delay + buffer_delay {in this case ignore buffer_delay}

So [t/(m*d) -1 + m]*d
open bracket (t/m-d+m*d) {this is execution time on pipeline}

if seems anything wrong correct me!!
selected by

Related questions

0 votes
0 votes
1 answer
1
kathan Mistry asked Aug 9, 2022
630 views
In a pipelined architecture Static branch prediction is used with branch taken assumption. Assume that 30% of the instructions executed for a program are branch instructi...
1 votes
1 votes
2 answers
3
sh!va asked Jul 12, 2016
979 views
Suppose that a given application is run on a 64-processor machine and that 70 per cent of the application can be parallelized. Then the expected performance improvement ...