Branch prediction technique using instruction for resetting result table pointer
AssigneeInternational Business Machines Corporation
InventorsJamie R. Kuesel, Mark G. Kupferschmidt, Eric O. Mejdrich, Paul E. Schardt
Life of this patent
Estimating the term…
Abstract
Methods, apparatus, and products for branch prediction in a computer processor are disclosed that include: recording for a sequence of occurrences of a branch, in an algorithm in which the branch occurs more than once, each result of the branch, including maintaining a pointer to a location of a most recently recorded result; resetting the pointer to a location of the first recorded result upon completion of the algorithm; and predicting subsequent results of the branch, in subsequent occurrences of the branch, in dependence upon the recorded results.
Claims15
A method of branch prediction in a computer processor, the method comprising:
- recording for a sequence of occurrences of a branch, in an algorithm in which the branch occurs more than once, each result of the branch, including maintaining a pointer to a location of a most recently recorded result;
- resetting the pointer to a location of the first recorded result upon completion of the algorithm, including resetting the pointer responsive to an operation code representing an instruction to reset the pointer and providing as a parameter of the instruction an identifier of the branch;
- and
- predicting subsequent results of the branch, in subsequent occurrences of the branch, in dependence upon the recorded results.
An apparatus for branch prediction in a computer processor, the apparatus comprising a computer processor, a computer memory operatively coupled to the computer processor, the computer processor configured to be capable of:
- recording for a sequence of occurrences of a branch, in an algorithm in which the branch occurs more than once, each result of the branch, including maintaining a pointer to a location of a most recently recorded result;
- resetting the pointer to a location of the first recorded result upon completion of the algorithm, including resetting the pointer responsive to an operation code representing an instruction to reset the pointer and providing as a parameter of the instruction an identifier of the branch;
- and
- predicting subsequent results of the branch, in subsequent occurrences of the branch, in dependence upon the recorded results.
A computer program product for branch prediction in a computer processor, the computer program product comprising a computer readable, recordable medium, the computer program product further comprising computer program instructions capable of:
- recording for a sequence of occurrences of a branch, in an algorithm in which the branch occurs more than once, each result of the branch, including maintaining a pointer to a location of a most recently recorded result;
- resetting the pointer to a location of the first recorded result upon completion of the algorithm, including resetting the pointer responsive to an operation code representing an instruction to reset the pointer and providing as a parameter of the instruction an identifier of the branch;
- and
- predicting subsequent results of the branch, in subsequent occurrences of the branch, in dependence upon the recorded results.
Dependencies are inferred from the claim text.