Patent ID: 6108777
Filing Date: 2000-08-22
Classification: G06F

Abstract:
A method of branch prediction for a processor performing speculative execution, comprising:storing resolved branch direction history bits, said resolved branch direction history bits embodying a running history in sequential program order of a taken/not-taken behavior of the most recently resolved branches;predicting a direction taken for a plurality of branches, each of said branch predictions being calculated using overall branch direction history bits and branch address bits, said overall branch direction history bits including at least some of said resolved branch direction history bits, wherein a ratio of the number of branch direction history bits to the number of branch address bits used in calculating said branch predictions is selectable;storing one or more speculative branch direction history bits, said one or more speculative branch direction history bits embodying a running history in sequential program order of a taken/not-taken behavior of the most recent unresolved predicted branches;resolving one of said unresolved predicted branches; andupdating said resolved branch direction history bits with the stored speculative branch direction history bit of the branch most recently resolved.