论文部分内容阅读
在CPI栈理论的处理器性能解析模型中,稳态吞吐率模型和访存并发度模型需要基于滑动指令窗口的分析方法。现阶段无论是基于单指令还是整窗口的滑动策略都是以重排序缓存(Reorder Buffer,ROB)的大小作为指令窗口的大小来进行的。然而根据本文的实验观测,ROB在绝大多数时间都处于较低水平的充满状态。因此,以ROB大小作为指令窗口大小本质上是一种近似,这会对后续的稳态吞吐率模型和访存并发度模型精度产生一定的误差。本文通过实验分析了影响ROB充满情况的各种因素,包括ROB大小、IQ、Cache、物理寄存器、前端宽度、后端执行单元数目等硬件参数和软件负载特征,并从处理器的内部机制出发分析解读了实验数据。随后基于线性和非线性两方面建立起评估ROB充满情况的经验模型,在线性方面,第一步是通过斯皮尔曼分析进行降维,使得与因变量不相关的自变量得以剔除。第二步是通过逐步回归剔除掉与因变量虽然相关但不显著的自变量,线性回归模型揭示了不同软硬件参数对有效ROB的正负相关性及影响权重。而在非线性方面,主要是基于BP神经网络训练模型,本文通过对各种结构组合的神经网络在自应用预测上的误差对比最终选定隐含层18个节点,激励函数tansig,训练方法traingd为最佳组合。本文采用了14个来自SPEC 2006中的基准测试程序验证了有效ROB模型及其对CPI栈理论模型的精度提升。在有效ROB预测模型的误差方面,基于线性的逐步回归模型在自应用、自应用跨硬件配置和跨应用跨硬件配置上的预测平均误差分别为8.81%、8.94%和9.33%。而基于非线性的神经网络模型在自应用、自应用跨硬件配置和跨应用跨硬件配置上的预测平均误差分别为6.71%、7.41%和8.21%。神经网络模型相比逐步回归模型在预测误差上并无显著减少但训练耗时却高出三个数量级。因此,本文选定逐步回归模型为预测有效ROB的最终模型。以逐步回归模型预测得到的有效ROB代替默认ROB作为窗口大小进行Trace分析,分别实现了稳态吞吐率模型、访存并发度模型和总CPI栈理论模型平均精度9.31%、2.78%和10.62%的提升。