Question: How many instructions are expected to be executed between the time one branch misprediction is detected and the time the next branch misprediction is detected?

How many instructions are expected to be executed between the time one branch misprediction is detected and the time the next branch misprediction is detected?


Problems in this exercise assume that branches represent the following fraction of all executed instructions, and the following branch predictor accuracy. Assume that the processor is never stalled by data and resource dependences, i.e., the processor always fetches and executes the maximum number of instructions per cycle if there are no control hazards. For control dependences, the processor uses branch prediction and continues fetching from the predicted path. If the branch has been mispredicted, when the branch outcome is resolved the instructions fetched after the mispredicted branch are discarded, and in the next cycle the processor starts fetching from the correct path.a. b. Branches as a % of All Executed Instructions 25 25 Branch Prediction Accuracy 95% 99%

a. b. Branches as a % of All Executed Instructions 25 25 Branch Prediction Accuracy 95% 99%

Step by Step Solution

3.32 Rating (170 Votes )

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock

The time that is wasted in case of a branch misprediction is equal to the number of stages in the pi... View full answer

blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Computer Organization Design Questions!