论文部分内容阅读
每周期指令数(Instructions Per Cycle,IPC)是衡量CPU性能的重要指标,研究CPU中微结构参数与IPC的关系能够启发微结构的改进方向。目前,经验建模方法已经广泛用于研究微结构参数对IPC的影响。存储级并行度(Memory Level Parallelism,MLP)作为影响IPC大小的一个关键变量,一直以来缺乏对其的有效建模。 本文建立了一个使用微结构参数评估MLP大小的经验模型。论文阐述了现代CPU中的典型微结构,包括流水线、超标量、乱序执行与依赖检查、寄存器重命名、重排缓冲区、分支预测、存储层次等微结构。整个模型分为数据获取,数据清洗和数据预测三个部分。在数据获取部分,获得经验模型训练所需的数据,包括动态特征参数和MLP大小数据。使用分代模型讨论了相关微结构参数对MLP的影响,在实验平台上找到这些微结构参数对应的动态特征参数;使用数学公式精确定义了MLP,设计算法从实验平台中提取MLP大小数据。在数据清洗部分,对数据进行预处理以方便经验模型的求解。过滤或者填补数据中的遗漏值;使用K近邻分类器算法过滤掉MLP数据中的稀疏部分;使用稀疏自编码器算法对动态特征参数进行降维,提高模型的求解速度。在数据预测部分中,训练经验模型来预测MLP。使用动态特征参数作为经验模型的输入,通过对MLP数学定义的等价变换,使用变换后的各分量作为经验模型的输出,使用神经网络作为训练工具来预测MLP的值。 经验模型在时钟周期精确的仿真平台GEM5上运行3个Android应用进行测试。结果表明:对MLP大小的预测准确率达到91.37%~92.75%。该经验模型的结果能够收敛到一个符合物理意义的评估结果,为研究微结构参数与CPU性能指标的类似课题提供了参考。