Abstract—Branch instructions have been the biggest
contributor of reducing parallelism in pipe-lined computers.
Branch prediction had improved the predictability of branch
conditions. But the branch targets for indirect branches are still
hard to predict as a single branch instruction can branch to
different targets in case of indirect branches. Using a BTB will
only improve performance of indirect branches that branch to
the same target address.
In this paper, we propose a modified indexing of BTB, that
would allow, first, multiple entries for a single branch
instruction to improve prediction of branches with multiple
targets and second, use of the offset that the branch instruction
would use as part of the index to improve the indexing of BTB.
We achieve this by caching the values produced by most
recently executed instructions and identifying the instruction
that produced the offset value used by the branch instruction as
an offset source for that branch. When the source instruction is
executed the next time, the value produced is taken as the
predicted offset and used along with branch instruction PC as
an index into the BTB. Updating the BTB after the completion
of branch instruction is also done with the same index. Using the
predicted offset to augment the BTB index allows for better
prediction of indirect branches.
Index Terms—Branch prediction, BTB, dynamic indexing, indirect jump, offset prediction.
Vidhya C is with CMR Institute of Technology, Bangalore, KA 560037,
India(e-mail: mail.vidya.in@gmail.com).
Manimozhi I is with the Department of Computer Science, CMR Institute
of Technology, Bangalore, KA 560037, India (e-mail:
srimanisen@gmail.com).
Jithendranath Mungara is with the Department of Computer Science,
CMR Institute of Technology, Bangalore, KA 560037, India (e-mail:
jmungara@yahoo.com).
Cite: Vidhya C., Manimozhi I., and Jithendranath Mungara, "Dynamic BTB Indexing Using Jump Offset Prediction," International Journal of Information and Education Technology vol. 2, no. 5, pp. 486-489, 2012.