论文标题
识别和利用稀疏分支相关性,以优化分支预测
Identifying and Exploiting Sparse Branch Correlations for Optimizing Branch Prediction
论文作者
论文摘要
可以说,分支预测是高性能处理器体系结构中最重要的投机机制之一。提高分支预测准确性的一种常见方法是利用先前看到的分支方向的冗长历史记录来捕获分支之间的遥远相关性。历史越大,预测因子可以利用发现预测模式的信息越丰富。但是,如果没有适当的过滤,这种方法也可能会严重混乱预测因子的内部机制,从而导致回报率降低。本文研究了基本的控制流属性:分支机构与近期历史之间相关性的稀疏性。首先,我们表明在标准应用中存在稀疏分支相关性,更重要的是,可以使用稀疏建模方法有效地计算此类相关性。其次,我们引入了一种稀疏感知的分支预测机制,该机制可以紧凑并存储稀疏模型以解锁基本的性能机会。我们评估了各种设计参数的方法,该参数证明了MPKI的改善高达42%(平均2.3%),并使用2KB的额外存储开销。我们对设计的电路级评估表明,它可以在公认的分支预测潜伏期内运行,并在合理的功率和面积限制下运行。
Branch prediction is arguably one of the most important speculative mechanisms within a high-performance processor architecture. A common approach to improve branch prediction accuracy is to employ lengthy history records of previously seen branch directions to capture distant correlations between branches. The larger the history, the richer the information that the predictor can exploit for discovering predictive patterns. However, without appropriate filtering, such an approach may also heavily disorganize the predictor's internal mechanisms, leading to diminishing returns. This paper studies a fundamental control-flow property: the sparsity in the correlation between branches and recent history. First, we show that sparse branch correlations exist in standard applications and, more importantly, such correlations can be computed efficiently using sparse modeling methods. Second, we introduce a sparsity-aware branch prediction mechanism that can compactly encode and store sparse models to unlock essential performance opportunities. We evaluated our approach for various design parameters demonstrating MPKI improvements of up to 42% (2.3% on average) with 2KB of additional storage overhead. Our circuit-level evaluation of the design showed that it can operate within accepted branch prediction latencies, and under reasonable power and area limitations.