question archive The importance of having a good branch predictor depends on how often conditional branches are executed

The importance of having a good branch predictor depends on how often conditional branches are executed

Subject:Computer SciencePrice:2.87 Bought7

The importance of having a good branch predictor depends on how often conditional branches are executed. Together with branch predictor accuracy, this will determine how much time is spent stalling due to mispredicted branches. In this exercise, assume that the breakdown of dynamic instructions into various instruction categories is as follows:

R-Type BEQ JMP LW SW

40% 25% 5% 25% 5%

 

Also, assume the following branch predictor accuracies:

 

Always - Taken Always-Not-Taken 2-Bit

40% 60% 85%

Stall cycles due to mispredicted branches increase the CPI. What is the extra CPI due to mispredicted branches with the always-taken predictor? Assume that branch outcomes are determined in the EX stage, that there are no data hazards, and that no delay slots are used.

pur-new-sol

Purchase A New Answer

Custom new solution created by our subject matter experts

GET A QUOTE

Answer Preview

Answer:

Number of stall cycles due to mis-predicted branches 3

Breakdown of dynamic instruction into BEQ = 25% = 0.25

Accuracy of the predicted branches with Always-Taken predictor = 45% = 0.45

Accuracy of the mis-predicted branches with Always-Taken predictor = 100.0 - 0.45 0.55

Therefore, Extra CPI due to mis-predicted branches with Always-Taken predictor = 3 *0.55 *0.25 0.4125