US 12,360,769 B2
Branch target buffer operation with auxiliary indirect cache
James Youngsae Cho, Los Gatos, CA (US); Chandramouli Banerjee, Fremont, CA (US); and Rabin Sugumar, Sunnyvale, CA (US)
Assigned to Akeana, Inc., Santa Clara, CA (US)
Filed by Akeana, Inc., San Jose, CA (US)
Filed on Dec. 11, 2023, as Appl. No. 18/534,786.
Claims priority of provisional application 63/605,620, filed on Dec. 4, 2023.
Claims priority of provisional application 63/602,514, filed on Nov. 24, 2023.
Claims priority of provisional application 63/547,574, filed on Nov. 7, 2023.
Claims priority of provisional application 63/547,404, filed on Nov. 6, 2023.
Claims priority of provisional application 63/546,769, filed on Nov. 1, 2023.
Claims priority of provisional application 63/545,961, filed on Oct. 27, 2023.
Claims priority of provisional application 63/542,797, filed on Oct. 6, 2023.
Claims priority of provisional application 63/526,009, filed on Jul. 11, 2023.
Claims priority of provisional application 63/521,365, filed on Jun. 16, 2023.
Claims priority of provisional application 63/471,283, filed on Jun. 6, 2023.
Claims priority of provisional application 63/467,335, filed on May 18, 2023.
Claims priority of provisional application 63/463,371, filed on May 2, 2023.
Claims priority of provisional application 63/462,542, filed on Apr. 28, 2023.
Claims priority of provisional application 63/444,619, filed on Feb. 10, 2023.
Claims priority of provisional application 63/439,761, filed on Jan. 18, 2023.
Claims priority of provisional application 63/436,133, filed on Dec. 30, 2022.
Claims priority of provisional application 63/436,144, filed on Dec. 30, 2022.
Claims priority of provisional application 63/435,831, filed on Dec. 29, 2022.
Claims priority of provisional application 63/435,343, filed on Dec. 27, 2022.
Claims priority of provisional application 63/434,104, filed on Dec. 21, 2022.
Claims priority of provisional application 63/431,756, filed on Dec. 12, 2022.
Prior Publication US 2024/0192958 A1, Jun. 13, 2024
Int. Cl. G06F 9/38 (2018.01); G06F 12/0875 (2016.01)
CPC G06F 9/3806 (2013.01) [G06F 12/0875 (2013.01); G06F 2212/452 (2013.01)] 26 Claims
OG exemplary drawing
 
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.