A Storage-Effective BTB Organization for Servers
Truls Asheim, Boris Grot, Rakesh Kumar

TL;DR
This paper introduces BTB-X, a storage-efficient branch target buffer organization that significantly increases branch tracking capacity by storing branch target offsets with variable-sized ways, reducing storage needs.
Contribution
Proposes a novel BTB organization using variable-sized ways to store branch target offsets, greatly enhancing capacity within the same storage budget.
Findings
BTB-X tracks 2.24x more branches than conventional BTBs.
BTB-X outperforms state-of-the-art PDede in branch tracking capacity.
Significant storage reduction achieved without performance loss.
Abstract
Many contemporary applications feature multi-megabyte instruction footprints that overwhelm the capacity of branch target buffers (BTB) and instruction caches (L1-I), causing frequent front-end stalls that inevitably hurt performance. BTB capacity is crucial for performance as a sufficiently large BTB enables the front-end to accurately resolve the upcoming execution path and steer instruction fetch appropriately. Moreover, it also enables highly effective fetch-directed instruction prefetching that can eliminate a large portion L1-I misses. For these reasons, commercial processors allocate vast amounts of storage capacity to BTBs. This work aims to reduce BTB storage requirements by optimizing the organization of BTB entries. Our key insight is that storing branch target offsets, instead of full or compressed targets, can drastically reduce BTB storage cost as the vast majority of…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Cloud Computing and Resource Management · Advanced Memory and Neural Computing
