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.
翻译:部门预测可以说是高性能处理结构中最重要的投机性机制之一。 提高部门预测准确性的一个共同办法是使用以往所见分支方向的长历史记录来捕捉不同分支之间的遥远关系。 历史越大,预测者可以用来发现预测模式的信息越丰富。 但是,如果不进行适当的过滤,这种方法也可能严重分散预测者的内部机制,导致回报减少。 本文研究一种基本控制流量属性: 分支与近代历史之间相互关系的松散。 首先, 我们表明,在标准应用程序中存在稀疏的分支相关关系,更重要的是,这种相关关系可以用稀疏的模型方法有效计算。 其次, 我们引入一个宽度- 觉悟分支预测机制, 它可以紧凑地编码并存储稀疏的模型, 以释放基本的绩效机会。 我们评估了各种设计参数的方法, 显示MPKI改进了高达42%(平均2.3% ) 和2KB 的额外存储间接费用。 我们对设计进行的电路级评估表明, 它可以在可接受的部门预测晚期内运作, 并在合理的权力和面积限制下进行。