Branch-Target Buffer or Branch-Target Address Cache
The Branch Target Buffer (BTB) or Branch-Target Address Cache (BTAC) stores branch and jump target addresses.
It should be known already in the IF stage whether the as-yet-undecoded instruction is a jump or branch.
The BTB is accessed during the IF stage.
The BTB consists of a table with branch addresses, the corresponding target addresses, and prediction information.
Variations: Branch Target Cache (BTC): stores one or more target instructions additionally.Return Address Stack (RAS): a small stack of return addresses for procedure calls and returns is used additional to and independent of a BTB.