首页> 外文会议>Annual IEEE/ACM International Symposium on Microarchitecture >Performance Improvement by Prioritizing the Issue of the Instructions in Unconfident Branch Slices
【24h】

Performance Improvement by Prioritizing the Issue of the Instructions in Unconfident Branch Slices

机译:通过优先考虑不自信的分支切片中的指令发布来提高性能

获取原文

摘要

Single-thread performance has hardly improved for more than a decade. One of the largest problems for performance improvements is branch misprediction. There are two approaches to reduce the penalty caused by this. One is to reduce the frequency of misprediction, and the other is to reduce the cycles consumed because of misprediction. Improving branch predictors is the former approach, and many studies on this topic have been done for several decades. However, the latter approach has been rarely studied. The present paper hence explores the latter approach. The cycles consumed because of misprediction are divided into the following two parts. The first part is the state recovery penalty, which consists of cycles consumed for rolling back the processor state. The second part is the misspeculation penalty, which are cycles consumed during useless speculative execution from the fetch of a mispredicted branch until the completion of the branch execution. We focus on reducing the misspeculation penalty. For this, we propose a scheme called PUBS, which allows the instructions in unconfident branch slices to be issued with highest priority from the issue queue (IQ). Here, a branch slice is a set consisting of a branch and the instructions this branch directly or indirectly depends on, and we call the branch slice unconfident if the associated branch prediction cannot be sufficiently trusted. By issuing instructions in unconfident branch slices as early as possible, the wait cycles of these instructions in the IQ are minimized and thus the misspeculation penalty is minimized. Our evaluation results using SPEC2006 benchmark programs show that the PUBS scheme improves the performance of the programs with difficult branch prediction by 7.8% on average (a maximum of 19.2%) using only 4.0KB hardware cost.
机译:十多年来,单线程性能几乎没有提高。性能改进的最大问题之一是分支预测错误。有两种方法可以减少由此带来的损失。一种是减少错误预测的频率,另一种是减少由于错误预测而消耗的周期。改进分支预测器是以前的方法,数十年来对此主题进行了许多研究。但是,后一种方法很少被研究。因此,本文探讨了后一种方法。由于预测错误而消耗的周期分为以下两个部分。第一部分是状态恢复惩罚,它由回滚处理器状态所消耗的周期组成。第二部分是错误推测惩罚,这是从获取错误预测的分支直到完成分支执行,在无用的推测执行过程中消耗的周期。我们着重于减少误导惩罚。为此,我们提出了一种称为PUBS的方案,该方案允许从发布队列(IQ)中以最高优先级发布不确定分支片中的指令。在这里,分支切片是由一个分支和该分支直接或间接依赖的指令组成的集合,如果关联的分支预测不能得到足够的信任,我们称该分支切片为不可信的。通过尽早在不自信的分支切片中发布指令,可以最小化IQ中这些指令的等待周期,从而最大程度地减少了错误推测的损失。我们使用SPEC2006基准程序的评估结果表明,仅使用4.0KB的硬件成本,PUBS方案将分支预测困难的程序的性能平均提高了7.8%(最高为19.2%)。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号