Branch target buffer (BTB)
En cache i CPU:n som kommer ihåg vart tidigare grenar (hopp) ledde, så att processorn kan förutsäga måladdressen för ett hopp innan den faktiskt räknat ut den. Avgörande för att hålla den spekulativa pipelinen matad utan att stanna.
Problem: när CPU:n stöter på ett hopp (if-sats, funktionsanrop, loop) vet den inte direkt vart det leder — men en djup pipeline kan inte vänta. Grenprediktorn gissar OM hoppet tas; BTB:n gissar VART det leder (måladdressen) baserat på historik, så hämtningen kan fortsätta omedelbart från rätt ställe. Gissar BTB:n rätt rullar pipelinen vidare utan avbrott; gissar den fel måste de spekulativt hämtade instruktionerna kastas (en dyr "flush"). Relaterat: return stack buffer (specialiserad för funktions-returer). BTB:ns träffsäkerhet påverkar prestanda direkt, och dess beteende har även utnyttjats i sidokanalsattacker (Spectre-varianter). En kärnkomponent i modern grenprediktion. Hör ihop med return stack buffer och spekulativ exekvering.