adplus-dvertising
frame-decoration

Question

What is the problem with executing conditional branches in a deep pipeline?

a.

The processor must wait before processing instructions currently in the pipeline until the information on whether the branch is taken or not becomes available.

b.

The pipeline is automatically refilled with instructions located either right after the branch instruction (when the branch is not expected to be taken) or from the branch’s target address (when the branch is expected to be taken).

c.

Predicting the outcome of a branch has no impact on pipeline performance.

d.

None of the above.

Posted under Reverse Engineering

Answer: (a).The processor must wait before processing instructions currently in the pipeline until the information on whether the branch is taken or not becomes available. Explanation:Conditional branches are a problem in a deep pipeline because often their outcome is not known at the time the next instruction must be fetched, and simply waiting until the outcome is known before processing instructions currently in the pipeline would have a detrimental impact on performance.

Engage with the Community - Add Your Comment

Confused About the Answer? Ask for Details Here.

Know the Explanation? Add it Here.

Q. What is the problem with executing conditional branches in a deep pipeline?