• edited by
28,697 views
54 54 votes

A 4-stage pipeline has the stage delays as $150$, $120$, $160$ and $140$ $nanoseconds$, respectively. Registers that are used between the stages have a delay of $5$ $nanoseconds$ each. Assuming constant clocking rate, the total time taken to process $1000$ data items on this pipeline will be:

  1. $\text{120.4 microseconds}$

  2. $\text{160.5 microseconds}$

  3. $\text{165.5 microseconds}$

  4. $\text{590.0 microseconds}$

5 Answers

Best answer
87 87 votes
Pipelining requires all stages to be synchronized meaning, we have to make the delay of all stages equal to the maximum pipeline stage delay which here is $160$. We also have to add the intermediate register delay which here is $5ns$ which makes the clock period as $165ns.$

Time for execution of the first instruction $= 165* 4 = 660$ ns.

Now, in every $165$ ns, an instruction can be completed. So,

Total time for $1000$ instructions $= 660 + 999*165 = 165.495$ microseconds

Correct Answer: $C$
• edited by
8 8 votes
Lets first instruction will take all four stages(4cycle) and rest 999 instruction will be completed in every clock cycle.

TT(total time)=First instruction x Number of cycle x Duration of each cycle + 999 x Number of cycle x Duration of cycle

TT=1 x4x(160+5)+999x1x165 ns

TT=165,495 ns

TT=165.495 micro second

//Max time period=Max_duration(150,120,160,140)+register delay=165ns
2 2 votes
Delay between each stage is 5 ns.
Total delay in pipline = 150 + 120 + 160 + 140 = 570
Total delay for one data item = 570 + 5*3 (Note that there are 3 intermediate registers)
                              = 585 
For 1000 data items, first data will take 585 ns to complete and rest 
999 data will take max of all the stages that is 160 ns + 5 ns register delay

Total Delay = 585 + 999*165 ns which is approximately 165.5 microsecond.
1 flag:
✌ Low quality (blackDevil)
0 0 votes
Pipeline requires all stages to be synchronizzed which means that dekay of all stages should be same and that for all to be same must be the maximum one as it will cover all others too

Now, using that max time for one cycle is 160 + 5 ns (delay) so 165 is the required time for one clock cycle ie., time taken for one stage of the pipeline and it is same for all stages

Hence, time taken to process 1000 data items will be (n=1000):

k(no of stages) for the pipeline is 4

-> Out of these 1000 items only 1st item we count full time that is 4 cycles as once the 1st item is in 4th stage the 2nd is already in 3rd stage and so on...

So, 4 cycles for 1st item + 1 cycle for other 999 items = 1003 cycles and each cycle time is 165 ns

So, 165.5 ns is required answer

 

 
Answer:
Position:
Show:

Related questions

79 79 votes
11 answers 11 answers
33.8k
33.8k views
go_editor asked Sep 28, 2014
33,794 views
Consider a $6$-stage instruction pipeline, where all stages are perfectly balanced. Assume that there is no cycle-time overhead of pipelining. When an application is exec...
197 197 votes
9 answers 9 answers
78.5k
78.5k views
Kathleen asked Sep 22, 2014
78,477 views
A $5$ stage pipelined CPU has the following sequence of stages:IF – instruction fetch from instruction memoryRD – Instruction decode and register readEX – Execute: ALU op...
74 74 votes
4 answers 4 answers
35.7k
35.7k views
Kathleen asked Sep 12, 2014
35,725 views
Which of the following are NOT true in a pipelined processor?Bypassing can handle all RAW hazardsRegister renaming can eliminate all register carried WAR hazardsControl h...
81 81 votes
6 answers 6 answers
30.3k
30.3k views
go_editor asked Apr 24, 2016
30,342 views
Consider the following program segment for a hypothetical CPU having three user registers $R_1, R_2$ and $R_3.$$$ \begin{array}{|l|l|c|} \hline \text{Instruction} & \text...