| CPC G06F 9/3806 (2013.01) [G06F 12/0875 (2013.01); G06F 2212/452 (2013.01)] | 26 Claims |

|
1. A processor-implemented method for branch prediction comprising:
accessing a processor core, wherein the processor core is coupled to memory, and wherein the processor core includes branch prediction circuitry, wherein the branch prediction circuitry includes a branch target buffer (BTB) and an indirect branch target buffer (BTBI);
reading a hashed program counter within the processor core;
searching the BTB and the BTBI, wherein the searching the BTB is accomplished with the hashed program counter and the searching the BTBI is accomplished with the hashed program counter and branch history information;
matching a predicted branch target address within the BTBI or the BTB, wherein the matching within the BTBI is based on an indirect branch instruction, and wherein the matching within the BTB is based on other branch instruction types;
deciding that the predicted branch target address that was matched is predicted taken; and
directing the processor core to fetch a next instruction from the predicted branch target address.
|