论文部分内容阅读
随着移动智能应用需求的不断变化和工艺设计的不断改进,分支预测器作为缓解微处理器控制冒险和降低流水线气泡的关键技术被引入。相应的,如何评估分支预测器的性能成为研究热点,主要包括分支缺失次数与分支确定时间的研究。分支缺失次数方面,研究人员挖掘软件微结构无关特征参数与分支预测机制之间的关系,并构建解析模型,但与分支预测仿真模型相比,预测精度较差。分支确定时间方面,现有的分析和模型无法覆盖所有的影响因素,且在跨程序预测上精度较差。本文构建了分支预测仿真器与基于神经网络的分支确定时间模型,提高了分支预测器性能评估的精度。主要工作分为三个部分,第一,采用Python语言构建了 Gshare、Bimode和Tournament三种分支预测器的仿真模型,并提供了多种配置选项,可以准确模拟分支预测器的行为。第二,分析了影响分支确定时间的因素及其之间的耦合关系,并通过构建神经网络模型,实现了跨程序的分支确定时间预测。第三,将前两部分的工作整合成一个完整的工具,提供了易于操作的可视化图形界面。在SPEC CPU2000测试集以及9种分支预测器配置下,本文实现的分支预测仿真器的缺失次数预测与原子模式下Gem5仿真结果相比,平均精度在98%左右,与前期的解析模型相比,平均精度提升了 28%。在时间方面,Trace流具有一次仿真,多次使用的特点,因此所考察的微架构越多,单位时间成本就越低,即分支预测仿真器的加速比与分支预测器的微结构配置种类成正比。在MobyBench测试集以及9种分支预测器配置下,基于神经网络的分支确定时间模型的平均精度在82%,相比于前期的非线性拟合模型与精简假设模型,平均精度分别提升了 19%和27%。