Patent ID: 6360318
Filing Date: 2002-03-19
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 a variable ratio of 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; 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; and updating said resolved branch direction history bits with the stored speculative branch direction history bit of the branch most recently resolved.