Exploring value prediction with the EVES predictor

Exploring value prediction with the EVES predictor
复制标题

DOI:
--
复制
发表时间:
2018-06
期刊:
--
影响因子:
--
通讯作者:
André Seznec
André Seznec
中科院分区:
其他
文献类型:
--
作者:
André Seznec

文献摘要

被引文献

相似文献

在本研究中,我们探讨了小值预测器(8KB和32KB)在处理器假设大指令窗口(256个条目ROB),一个完美的分支预测器,每个周期获取16条指令,无限数量的功能单元,这个评估框架强调了一个有效的硬件实现值预测将面临的两个主要困难。首先,只有当正确预测的潜在性能收益超过错误预测的潜在性能损失时,才应该使用值的预测。其次,值预测必须用于具有大指令窗口的乱序执行处理器的上下文中。在许多情况下,必须预测指令的结果,而同一指令的一个或几个出现仍然在管道中推测地进行。许多值预测器(FCM预测器[7],步幅预测器[3])使用指令的一个或多个先前发生的结果来预测当前发生的结果。在这种情况下,除非没有指令发生仍然是推测性的,或者管道中存在的所有发生都已经以高置信度进行了预测,否则不能在管道中使用预测。我们的命题EVES,即Enhanced VTAGE Enhanced Stride,结合了两个预测器组件,它们不使用指令最后出现的结果来计算预测。我们使用增强型VTAGE预测器[5],E-VTAGE。在VTAGE上,预测值是预测时在预测表上直接读取的值。其次,我们提出了一个跨步预测器的增强版本,E-Stride。E-Stride从指令的最后一次提交发生和管道中指令的推测发生次数计算预测。从E-Stride或E-VTAGE流出的预测仅在其置信度高时使用。本研究的主要贡献在于基于预期收益/损失的预测分配置信度的算法*这项工作部分得到了英特尔研究基金预测的支持。对于预测器组件,预测器条目的分配和受害者的选择也受到这种预期收益/损失的指导。置信度/优先级分配算法使用由Riley等人定义的概率计数器。在分布式轨迹上,分别具有8KB、32KB和无限存储预算的EVES预测器分别实现了4.026 IPC、4.202 IPC和4.408 IPC(几何平均),即比无值预测的3.211 IPC分别提高了25.3%、30.8%和37.3%。大部分的好处是由48个条目的E-Stride预测器带来的,加速速度为16.1%。
In this study we explore the performance limits of value prediction for small value predictors (8KB and 32KB) in the context of a processor assuming a large instruction window (256-entry ROB), a perfect branch predictor, fetching 16 instructions per cycle, an unlimited number of functional units, but a large value misprediction penalty with a complete pipeline flush at commit on a value misprediction This evaluation framework emphasizes two major difficulties that an effective hardware implementation value prediction will face. First the prediction of a value should be used only when the potential performance benefit on a correct prediction outweighs the potential performance loss on a misprediction. Second, value prediction has to be used in the context of an out-of-order execution processor with a large instruction window. In many cases the result of an instruction has to be predicted while one or several occurrences of the same instruction are still progressing speculatively in the pipeline. Many value predictors (FCM predic-tors [7], stride predictors [3]) are using the result(s) of one or more previous occurrence(s) of the instruction to predict the result of the current occurrence. In this case, a prediction cannot be used in the pipeline unless no instruction occurrence is still speculative or all the occurrences present in the pipeline have been predicted with high confidence. Our proposition EVES, for Enhanced VTAGE Enhanced Stride, combines two predictor components which do not use on the result of the last occurrence of the instruction to compute the prediction. We use an enhanced version of the VTAGE predictor [5], E-VTAGE. On VTAGE, the predicted value is the value directly read at prediction time on the predictor tables. Second, we propose a enhanced version of the stride predictor, E-Stride. E-Stride computes the prediction from the last committed occurrence of the instruction and the number of speculative inflight occurrences of the instruction in the pipeline. The prediction flowing out from E-Stride or E-VTAGE is used only when its confidence is high. The major contribution of this study is the algorithm to assign confidence to predictions depending on the expected benefit/loss of a * This work was partially supported by an Intel research grant prediction. For the predictor components, the predictor entry allocation and victim selection is also guided by this expected benefit/loss. The confidence/priority assignment algorithms use probabilistic counters defined by Riley et al. [6]. On the distributed traces, the EVES predictors with respectively 8KB, 32KB and unlimited storage budgets achieve respectively 4.026 IPC, 4.202 IPC and 4.408 IPC (geometric mean), i.e., respectively 25.3 %, 30.8 % and 37.3 % improvement over the 3.211 IPC achieved without value prediction. Most of this benefit is brought by the 48-entry E-Stride predictor with 16.1 % speedup.