Branch Target Buffer Reverse Engineering on Arm
Junpeng Wan

TL;DR
This paper successfully reverse-engineers the Branch Target Buffer (BTB) of ARM Cortex-A72 processors, revealing its capacity, structure, and set associativity, which was previously unexplored for ARM architectures.
Contribution
It adapts existing Intel BTB reverse-engineering techniques to ARM processors, providing the first detailed analysis of ARM BTB implementation.
Findings
BTB capacity is 4K
Set index spans bits 5 to 15 of PC
BTB has 2 ways per set
Abstract
The Branch Target Buffer (BTB) plays a critical role in efficient CPU branch prediction. Understanding the design and implementation of the BTB provides valuable insights for both compiler design and the mitigation of hardware attacks such as Spectre. However, the proprietary nature of dominant CPUs, such as those from Intel, AMD, Apple, and Qualcomm, means that specific BTB implementation details are not publicly available. To address this limitation, several previous works have successfully reverse-engineered BTB information, including capacity and associativity, primarily targeting Intel's x86 processors. However, to our best knowledge, no research has attempted to reverse-engineer and expose the BTB implementation of ARM processors. This project aims to fill the gap by exploring the BTB of ARM processors. Specifically, we investigate whether existing reverse-engineering techniques…
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.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsVLSI and Analog Circuit Testing · Industrial Vision Systems and Defect Detection
