System and method for target branch prediction using correlation of local target histories
First Claim
1. An information processing system, comprising:
- a branch target buffer (BTB) comprising the last next address for the instruction and for receiving an indirect instruction address and providing a BTB predicted target; and
next branch target table (NBTT) for storing potential branch targets based on a history of the branch and for providing an NBTT-target prediction when the BTB predicted target is not successful.
1 Assignment
0 Petitions
Accused Products
Abstract
An information processing system includes a branch target buffer (BTF) comprising the last next address for the instruction and for receiving an indirect instruction address and providing a BTB predicted target; and next branch target table (NBTT) for storing potential branch targets based on a history of the branch and for providing an NBTT when the a BTB predicted target is not successful. In another embodiment a system comprising a plurality of branch prediction resources dynamically predicts the best resource appropriate for a branch. The method includes predicting a target branch for an indirect instruction address using a resource chosen among the plurality of branch prediction resources; and selectively inhibiting updates of the branch prediction resources whose prediction accuracy does not meet a threshold.
-
Citations
20 Claims
-
1. An information processing system, comprising:
-
a branch target buffer (BTB) comprising the last next address for the instruction and for receiving an indirect instruction address and providing a BTB predicted target; and
next branch target table (NBTT) for storing potential branch targets based on a history of the branch and for providing an NBTT-target prediction when the BTB predicted target is not successful. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer-implemented method to predict multiple targets for a single branch comprising steps of:
-
receiving an indirect branch instruction;
searching a branch target buffer for a target of the indirect branch instruction, the branch target buffer comprising the last next address for the instruction; and
if the target is not found in the indirect branch instruction searching a next branch target storing potential branch targets based on a history of the branch. - View Dependent Claims (11, 12, 13)
-
-
14. An information processing system, comprising:
-
a branch target buffer (BTF) comprising the last next address for the instruction and for receiving an indirect instruction address and providing a BTB predicted target; and
a branch history table (BHT) storing a local branch history for the past N targets including the oldest target and a series of targets decreasing in age, and wherein the BHT is coupled to the NBTT and is indexed by a branch address, the BHT providing an NTTM target when the BHT does not successfully predict the target. - View Dependent Claims (15, 16, 17)
-
-
18. In a system comprising a plurality of branch prediction resources a method for dynamically predicting the best resource appropriate for a branch, a method comprising:
-
predicting a target branch for a indirect instruction address using a resource chosen among the plurality of branch prediction resources; and
selectively inhibiting updates of the branch prediction resources whose prediction accuracy does not meet a threshold. - View Dependent Claims (19)
-
-
20. An exclusion predictor comprising:
-
a plurality of branch prediction resources for dynamically predicting the best resource appropriate for predicting a target for a branch;
an inhibitor for inhibiting the updating of the branch prediction resources whose prediction accuracy does not meet a threshold.
-
Specification