Method and apparatus for updating global branch history information
First Claim
1. A method for updating global branch history (GBH) information, said method comprising:
- providing a branch history table having a plurality of entries, each entry is associated with a branch instruction;
providing a global branch history buffer to contain GBH information of a plurality of most recent branch instructions, wherein said GBH information to used to index to said branch history table to obtain a prediction signal; and
in response to a fetch group of instructions, shifting zero, one or more GBH bits into said global branch history buffer, wherein a fetch group containing or predicted to contain no taken branch is represented by the same pattern of said GBH bits regardless of the number of branch instructions within said fetch group of instructions.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus for updating global branch history information are disclosed. A dynamic branch predictor within a data processing system includes a global branch history (GBH) buffer and a branch history table. The GBH buffer contains GBH information of a group of the most recent branch instructions. The branch history table includes multiple entries, each entry is associated with one or more branch instructions. The GBH information from the GBH buffer can be used to index into the branch history table to obtain a branch prediction signal. In response to a fetch group of instructions, a fixed number of GBH bits is shifted into the GBH buffer. The number of GBH bits is the same regardless of the number of branch instructions within the fetch group of instructions. In addition, there is a unique bit pattern associated with the case of no taken branch in the fetch group, regardless of the number of not-taken branches of even if there are any branches in the fetch group.
23 Citations
18 Claims
-
1. A method for updating global branch history (GBH) information, said method comprising:
-
providing a branch history table having a plurality of entries, each entry is associated with a branch instruction;
providing a global branch history buffer to contain GBH information of a plurality of most recent branch instructions, wherein said GBH information to used to index to said branch history table to obtain a prediction signal; and
in response to a fetch group of instructions, shifting zero, one or more GBH bits into said global branch history buffer, wherein a fetch group containing or predicted to contain no taken branch is represented by the same pattern of said GBH bits regardless of the number of branch instructions within said fetch group of instructions. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. An apparatus for updating global branch history (GBH) information within a data processing system, said apparatus comprising:
-
a branch history table having a plurality of entries, each entry is associated with a branch instruction;
a global branch history buffer contains GBH information of a plurality of most recent branch instructions, wherein said GBH information to used to index to said branch history table to obtain a prediction signal; and
means for immediately shifting zero, one or more of GBH bits into said global branch history buffer, in response to a fetch group of instructions, wherein a fetch group containing or predicted to contain no taken branch is represented by the same pattern of said GBH bits regardless of the number of branch instructions within said fetch group of instructions. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A computer program product residing on a computer usable medium for updating global branch history (GBH) information within a data processing system, said computer program product comprising:
-
program code means for providing a branch history table having a plurality of entries, each entry is associated with a branch instruction;
program code means for providing a global branch history buffer contains GBH information of a plurality of most recent branch instructions, wherein said GBH information to used to index to said branch history table to obtain a prediction signal; and
program code means for immediately shifting zero, one or more of GBH bits into said global branch history buffer, in response to a fetch group of instructions, wherein a fetch group containing or predicted to contain no taken branch is represented by the same pattern of said GBH bits regardless of the number of branch instructions within said fetch group of instructions. - View Dependent Claims (15, 16, 17, 18)
-
Specification