Method and apparatus for predicting multiple conditional branches
AssigneeCompaq Computer Corporation
InventorsGlenn P. Giacalone, John H. Edmondson
Life of this patent
Estimating the term…
Loading patent…
AssigneeCompaq Computer Corporation
InventorsGlenn P. Giacalone, John H. Edmondson
Estimating the term…
The outcome of a plurality of branch instructions in a computer program is predicted by fetching a plurality or group of instructions in a given slot, along with a corresponding prediction. A group global history (gghist) is maintained to indicate of recent program control flow. In addition, a predictor table comprising a plurality of predictions, preferably saturating counters. A particular counter is updated when a branch is encountered. The particular counter is associated with a branch instruction by hashing the fetched instruction group's program counter (PC) with the gghist. To predict multiple branch instruction outcomes, the gghist is hashed with the PC to form an index which is used to access naturally aligned but randomly ordered predictions in the predictor table, which are then reordered based on value of the lower gghits bits. Preferably, instructions are fetched in blocks of eight instructions. The gghist is maintained by shifting in a 1 if a branch in the corresponding group is taken, or a 0 if no branch in the corresponding group is taken. The hashing function is preferably an XOR operation. Preferably, a predictor table counter is incremented when a corresponding branch is taken, but not beyond a maximum value, and is decremented when the corresponding branch is not taken, but not below zero. Preferably, the most significant bit of a counter is used to determine a prediction.
A system for predicting branch outcome, comprising:
A system for predicting branch outcome where a group of instructions is fetched per slot, comprising:
A system for predicting branch outcome where a group of instructions is fetched per slot, comprising:
A method of branch prediction comprising:
A method of branch prediction comprising:
A method of branch prediction, comprising the steps of:
A method of branch prediction, comprising the steps of:
A method of branch prediction, comprising the steps of:
Dependencies are inferred from the claim text.