Title :
Evaluation of a branch target address cache
Author :
Duvvuru, Sreeram ; Arya, Siamak
Author_Institution :
Sun Microsyst. Inc., Mountain View, CA, USA
Abstract :
Branches interrupt the sequential flow of instructions and introduce pipeline bubbles. Branch penalty can be a significant component of effective cpi (cycles per instruction) in multiple instruction issue processors. Two key issues need to be resolved to alleviate this problem: a branch resolution scheme to decide the direction and target of a branch early in the pipeline, thus allowing target instruction fetch to start, and mechanisms to minimize the impact of unpredictable branches. We propose a technique of caching branch target addresses for our fully predicated processor architecture, that would allow the branch decision to be made in the fetch stage of the pipeline. We discuss the impact of different branch target caching policies and cache sizes on the efficiency of branch target address cache. Impact of register-relative branches which may have variable target addresses is considered and a solution is suggested
Keywords :
cache storage; interrupts; performance evaluation; pipeline processing; program compilers; program control structures; storage allocation; branch penalty; branch resolution scheme; branch target address cache; branch target address cache evaluation; branch target caching policies; cache sizes; cycles per instruction; fetch stage; fully predicated processor architecture; instructions; interrupt; multiple instruction issue processors; pipeline bubbles; register-relative branches; sequential flow; target instruction fetch; unpredictable branches; Accuracy; Collaboration; Delay; History; Merging; Pipelines; Prefetching; Reduced instruction set computing; Resource management; Sun;
Conference_Titel :
System Sciences, 1995. Proceedings of the Twenty-Eighth Hawaii International Conference on
Conference_Location :
Wailea, HI
Print_ISBN :
0-8186-6930-6
DOI :
10.1109/HICSS.1995.375396