Patent ID: 7590830

Claim:
A processing unit including: a fetch unit; a multiple branch predictor, coupled to said fetch unit to receive an index, comprising: an instruction group branch prediction array which includes a plurality of instruction group branch prediction banks that each correspond to a respective one of a plurality of instruction group branch prediction states, wherein each of the instruction group branch prediction banks include a plurality of rows; each of the rows corresponding to a different instruction group, and each row having an entry for each instruction of the corresponding instruction group; each instruction group including a first plurality of branch instructions; each of the rows including a branch prediction for each branch instruction in the first plurality of branch instructions; and said instruction group branch prediction array outputs a row of entries, from each bank in said plurality of instruction group branch prediction banks, corresponding to said index, a storage element storing a previous instruction group branch prediction state for a last observed instruction group including a second plurality of branch instructions, wherein said first plurality and said second plurality are a same number of branch instructions and said previous instruction group branch prediction state is defined by pulling each branch prediction for each branch instruction in a concurrent branch prediction for the second plurality of branch instructions and by using directly at least said branch predictions themselves for said second plurality of branch instructions in selecting said previous instruction group branch prediction state without determining actual branch behaviors for said second plurality of branch instructions, wherein said multiple branch predictor concurrently branch predicts for said first plurality of branch-type instructions of an instruction group with one or more branch predictions, from one of the branch prediction banks, selected using at least said previous instruction group branch prediction state for said last observed instruction group, wherein said last observed instruction group was concurrently branch predicted by said multiple branch predictor, after being fetched by said fetch unit, immediately and directly before said instruction group was processed by said multiple branch predictor, after being fetched by said fetch unit.