We use cookies to improve your experience with our site.

多种值预测机制性能评估

Performance Evaluation of Different Data Value PredictionSchemes

  • 摘要: 流水线中存在三种类型相关:结构相关、控制相关和数据相关,其中数据相关又可分为读后写相关(write after read)、写后读相关 (read after write)、写后写相关 (write after write)。通过增加功能部件数量、使用复杂而性能更好的分支预测机制、寄存器重命名等方法,除写后读相关外的各种相关可得到较好解决。尤其是随着片上晶体管数目的增加,上述方法的运用更加广泛,处理器性能进一步获得提升。但是写后读相关一直未得到较好解决。 值预测是一种预测机制,它基于指令已产生结果的特征预测指令未来将要产生结果,从而使后续相关指令得以利用预测值前瞻执行。值预测机制的基础是值局部性,即数据在处理器系统存储空间中重现的特性。 Lipasti等人发现一指令产生的结果中很大部分属于该指令最近产生的16个值构成的集合。先前研究提出多种值预测器设计方案,每种值预测器的性能都有仔细分析,结果表明值预测机制具有提升性能的巨大潜力。但是尚无研究在相同实验环境下对各种值预测器性能进行评估对比,这种比较对深入理解值预测机制,对性能的影响及设计适宜的值预测器具有很大帮助。 以集成有值预测机制的乱序执行的超标量流水线模拟平台为基础 , 本文对先前研究提出的多种值预测器的性能影响进行了测试分析。文中使用了四种值预测器为评估对象,即最近值预测器、步长值预测器、二级值预测器(或称基于上下文预测器)和由步长预测器及二级预测器构成的混合型预测器。最近值预测器以指令最新产生结果作为未来预测值 , 它可以很好预测 (1 1 1 1…) 类型的数据序列;步长预测器以指令最新产生值及步长之和为未来预测值,其中步长是指令最近产生的两个值之差。它适于 (1 2 3 4 5…) 类型的数据序列;二级值预测通过分析指令产生结果的重现特征进行预测,适合于 (1 2 3 4 1 2 3 4 …) 类型数据序列的预测;由步长值预测器和二级值预测器构成的混合值预测器希望发挥两种预测器的优势,获取更好的性能。混合值预测器预测时首先访问二级值预测器,当二级值预测器不能预测时,则利用步长值预测器的预测结果。文中对影响值预测性能的各种因素,如预测失败开销、指令窗口大小、处理器发射宽度及分支预测机制等进行了详细的测试和分析。模拟结果表明不同值预测器在不同配置下效果不同。在一些情况下,简单值预测器比复杂值预测器具有更好的性能;而在一些情况下,值预测机制会导致性能下降。最后,许多因素对值预测设计的影响还不是很明晰,值预测机制的实际应用需要更有成效的工作的支持。

     

    Abstract: Data value prediction has been widely accepted as aneffective mechanism to break data hazards for high performanceprocessor design. Several works have reported promising performancepotential. However, there is hardly enough information that ispresented in a clear way about performance comparison of theseprediction mechanisms. This paper investigates the performance impactof four previously proposed value predictors, namely last valuepredictor, stride value predictor, two-level value predictor and hybrid(stride+two-level) predictor. The impact of misprediction penalty,which has been frequently ignored, is discussed in detail. Severalother implementation issues, including instruction window size, issuewidth and branch predictor are also addressed and simulated. Simulationresults indicate that data value predictors act differently underdifferent configurations. In some cases, simpler schemes may be morebeneficial than complicated ones. In some particular cases, valueprediction may have negative impact on performance.

     

/

返回文章
返回