Static branch prediction mechanism for conditional branch instructions
First Claim
1. An apparatus in a microprocessor for performing branch prediction, comprising:
- a static branch predictor, configured to provide a predicted outcome for a branch instruction, and configured to determine if said branch instruction is a biased outcome conditional branch instruction;
a mandatory signal, produced by said static branch predictor, configured to indicate whether or not said branch instruction is said biased outcome conditional branch instruction, thereby indicating whether or not said predicted outcome takes precedence over a dynamic branch prediction for said branch instruction; and
a biased prediction correlator, coupled to said static branch predictor and said mandatory signal, configured to receive said predicted outcome, said mandatory signal, and said dynamic branch prediction, and configured to favor said dynamic branch prediction over said predicted outcome, wherein, if said mandatory signal indicates that said branch instruction is said biased outcome conditional branch instruction, then said biased prediction correlator favors said predicted outcome over said dynamic branch prediction.
1 Assignment
0 Petitions
Accused Products
Abstract
An apparatus and method are provided for accurately predicting the outcome of branch instructions prior to their execution by a pipeline microprocessor. The apparatus has a static branch predictor, a mandatory signal, and a biased prediction correlator. The static branch predictor provides a predicted outcome for a branch instruction, and determines if the branch instruction is a biased outcome conditional branch instruction. The mandatory signal is coupled to the static branch predictor and indicates whether or not the branch instruction is the biased outcome conditional branch instruction, thereby indicating whether or not the predicted outcome takes precedence over a dynamic branch prediction for the branch instruction. The biased prediction correlator is coupled to the static branch predictor and the mandatory signal. The biased prediction correlator receives the predicted outcome, the mandatory signal, and the dynamic branch prediction. The biased prediction correlator favors the dynamic branch prediction over the predicted outcome. If the mandatory signal indicates that the branch instruction is a biased outcome conditional branch instruction, however, then the biased prediction correlator favors the predicted outcome over the dynamic branch prediction.
-
Citations
8 Claims
-
1. An apparatus in a microprocessor for performing branch prediction, comprising:
-
a static branch predictor, configured to provide a predicted outcome for a branch instruction, and configured to determine if said branch instruction is a biased outcome conditional branch instruction;
a mandatory signal, produced by said static branch predictor, configured to indicate whether or not said branch instruction is said biased outcome conditional branch instruction, thereby indicating whether or not said predicted outcome takes precedence over a dynamic branch prediction for said branch instruction; and
a biased prediction correlator, coupled to said static branch predictor and said mandatory signal, configured to receive said predicted outcome, said mandatory signal, and said dynamic branch prediction, and configured to favor said dynamic branch prediction over said predicted outcome, wherein, if said mandatory signal indicates that said branch instruction is said biased outcome conditional branch instruction, then said biased prediction correlator favors said predicted outcome over said dynamic branch prediction. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
Specification