Return jump stack
Indirect jumps difficult to predict except returns from procedures (but luckily returns are about 85% of indirect jumps)
If returns are entered with their target address in BTB, most of the time it will be the wrong target
- Procedures are called from many different locations
Hence addition of a small “return stack”; 4 to 8 entries are enough (1 in MIPS R10000, 4 in Alpha 21064, 4 in Sparc64, 12 in Alpha 21164)
- Checked during IF, in parallel with BTB.