Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Say that you are converting some sequential process to a pipelined process with

ID: 3850067 • Letter: S

Question

Say that you are converting some sequential process to a pipelined process with 10 stages. After doing so, you end up with some stages that require very little time to complete, and some stages that require a great deal of time to complete. Since all stages in the pipeline must be given the same amount of time, this could reduce the pipeline efficiency. Assume all hazards have been handled. What could you do to improve the pipeline efficiency in this situation? After explaining how to improve the pipeline, give a specific example of how this could work.

Explanation / Answer

Solution :

--> when sequential process is divided into pipelined processes with 10 stages , there are two type of stages :

1) Stages that can be executed in very less time

2) Stages that takes huge time

--> Solution to this problem is to further divide pipelined process into more stages

i.e divide the stages that takes more time.

That way, there will be more number of stages but all stages will be able to executed in reasonable amount of time and that would be good enough to increase pipeline efficiency.

for example,

there are 10 stages with time delay given below :

200ns, 100ns, 50ns, 150ns, 200ns, 400ns, 500ns, 70ns, 100ns, 90ns

here, each stage must be given 500ns to execute as there is a stage with with highest delay, which is 500ns.

--> If we divide two big stages into small stages then pipelined processor would have 12 stages with following stage delays :

200ns, 100ns, 50ns, 150ns, 200ns, 200ns, 200ns, 250ns, 250ns, 70ns, 100ns, 90ns

and each stage must have delay of 250 ns , as it is the maximum of all stage delays.

this process reduced delay to half of the previous solution.

Hence dividing big stages into small stages can increase pipeline efficiency.

If you have any doubts, then you can ask in comment section.