Contents
Gshare The Gshare “global sharing” branch predictor is a (2, 2) predictor. It uses both global branch history and the location of a branch instruction to create an index into a table of 2-bit counters. The 2-bit counters are like the ones at the end of the previous lecture.
What is global predictor?
The global predictor is indexed by a global history of the last 12 branches. This 12-bit value is used as an index into a 4K-entry table of 2-bit saturating counters. The value of the saturating counter determines the global prediction.
What is an advantage of static branch prediction?
What is an advantage of static branch prediction? Increases hardware complexity. Increased performance. Low branch prediction accuracy (no better than chance).
Why do we need correlating branch prediction mechanism?
Correlating Branch Prediction Last Updated : 04 Jun, 2020 Conditional Branches present in the programs significantly affect the performance of the system. So we need to come up with efficient branch prediction mechanism so as to get the branch target address with high accuracy and thus minimizing the stalls associated with control hazards.
Can you get significant accuracy from 2-bit branch predictor?
We cannot get significant accuracy from 2-bit branch predictor also due to interference with other branches.So correlating branch prediction comes into picture which is also known as two-level branch predictor in which prediction accuracy is improved as it takes into consideration the recent behavior of other branches also.
Can a branch predictor be replaced with a neural network?
A two-level branch predictor where the second level is replaced with a neural network has been proposed. A local branch predictor has a separate history buffer for each conditional jump instruction. It may use a two-level adaptive predictor.
Why do we need a branch predictor in a microprocessor?
Modern microprocessors tend to have quite long pipelines so that the misprediction delay is between 10 and 20 clock cycles. As a result, making a pipeline longer increases the need for a more advanced branch predictor. The first time a conditional jump instruction is encountered, there is not much information to base a prediction on.