Analysis of the execution time unpredictability caused by dynamic branch prediction

Analysis of the execution time unpredictability caused by dynamic branch prediction
复制标题

动态分支预测引起的执行时间不可预测性分析

DOI:
--
复制
发表时间:
2003
期刊:
The 9th IEEE Real-Time and Embedded Technology and Applications Symposium, 2003. Proceedings.
影响因子:
--
通讯作者:
Jakob Engblom
Jakob Engblom
中科院分区:
--
文献类型:
--
作者:
Jakob Engblom

文献摘要

被引文献

相似文献

本文研究了微处理器中的动态分支预测如何影响该处理器上运行的软件的执行时间的可预测性。通过对许多采用各种形式分支预测的实际处理器进行的实验,我们评估了分支预测因子对执行时间可预测性的影响。结果表明,动态分支预测因子在甚至非常简单的循环的执行时间中给出了很高且难以预测的变化,并且相对于常规指令的执行时间,分支错误预测的执行时间影响可能非常大。我们已经观察到在某些情况下,由于动态分支预测变量的效果,循环的执行更多的迭代实际上比执行更少的迭代所花费的时间更少。我们得出的结论是,当前的动态分支预测方案不适合在需要执行时间可预测性的实时系统中使用。
This paper investigates how dynamic branch prediction in a microprocessor affects the predictability of execution time for software running on that processor. By means of experiments on a number of real processors employing various forms of branch prediction, we evaluate the impact of branch predictors on execution time predictability. The results indicate that dynamic branch predictors give a high and hard-to-predict variation in the execution time of even very simple loops, and that the execution time effects of branch mispredictions can be very large relative to the execution time of regular instructions. We have observed some cases where executing more iterations of a loop actually take less time than executing fewer iterations, due to the effect of dynamic branch predictors. We conclude that current dynamic branch predictions schemes are not suitable for use in real-time systems where execution time predictability is desired.