849 views
2 votes
2 votes

1 Answer

Best answer
3 votes
3 votes

Total Time needed to execute the program = $120ns$

1. Since Stage Delays are different, Each stage will effectively take as much time as the slowest stage i.e. $10ns$

2. After $FI$ stage of $I_5$, in the very next cycle, $I_8$ instruction will enter into the pipeline (Doesn't mean $I_5$ will go to next stage in next cycle Since it is mentioned in the question that it will not be executed, So, I guess some "Flush" mechanism must be there to flush it out of the pipeline.)

So, Now this Question is pretty straightforward and we need to make instructions $I 1,2,3,4,5,8,9,10$ enter into the pipeline without any stall/delay between consecutive instructions. Thus, Total execution time = (5 + 7) * 10 ns = 120ns.


Note : When Stage Delays are Different, Each stage will effectively take as much time as the slowest stage. 

Refer Previous GATE Questions, There are many on this concept. 

https://gateoverflow.in/330/gate2013-45?show=330#q330

selected by

Related questions

0 votes
0 votes
1 answer
1
jjayantamahata asked May 14, 2018
528 views
0 votes
0 votes
0 answers
2
jjayantamahata asked May 14, 2018
204 views
0 votes
0 votes
0 answers
3
jjayantamahata asked May 14, 2018
229 views
0 votes
0 votes
0 answers
4
jjayantamahata asked May 14, 2018
211 views