Patent ID: 7523298

Claim:
A polymorphic branch predictor, comprising: a plurality of branch prediction methods; a mechanism for dynamically configuring a mode of prediction formed from at least one of the plurality of branch prediction methods responsive to a dynamic setting to optimize performance of the branch predictor during operation where the dynamic setting selects the mode of prediction in accordance with task specific information; and a storage array for concurrently storing data for at least a first mode of prediction corresponding to a first one of the plurality of branch prediction methods and for a second mode of prediction corresponding to a second one of the plurality of branch prediction methods, wherein said storage array comprises an array of predictor entries wherein the predictor entries stored in the array of predictor entries are configured with respect to a number and bits of information wherein the first one of the plurality of branch prediction methods is configured to use the predictor entries with m bits in the first mode of prediction, wherein the second one of the plurality of branch prediction methods is configured to use the predictor entries with n bits in the second mode of prediction, wherein m>n, wherein said storage array stores either k predictor entries with m bits, or 1 predictor entries with n bits, wherein k<1, wherein said storage array has at least two storage bits b 0 and b 1 , wherein the bits b 0 and b 1 correspond to a single one of the predictor entries with m bits in the first mode of prediction, and wherein the bits b 0 and b 1 correspond to a first one of the predictor entries with n bits and a second one of the predictor entries with n bits, respectively, in die second mode of prediction.