A Survey of Techniques for Dynamic Branch Prediction

Branch predictor (BP) is an essential component in modern processors since high BP accuracy can improve performance and reduce energy. However, reducing latency and storage overhead of BP while maintaining high accuracy presents significant challenges. Especially in light of Spectre attack, which arises due to speculative execution such as branch prediction, a relook on branch predictors is very important. In this paper, we present a survey of dynamic branch prediction techniques. We review two-level BPs, neural-BPs, hybrid BPs and techniques for improving BP accuracy and reducing implementation overheads.