论文部分内容阅读
各级Cache的命中率已经成为评估处理器性能的一个重要的性能参数。研究人员通常使用全仿真、硬件实测或者建立解析模型的方法获取某种配置下的Cache性能表现,但是前两种方法分别有着耗时较长和成本较大的缺点,而现存的解析模型在乱序处理器上跨程序预测精度较差,这使得模型的通用性大为降低。本文延续了本实验室前期基于人工神经网络(ANN)的Cache建模方法,通过对模型训练集的优化提高了模型预测Cache性能的精度。本文的主要工作分为了两个部分,第一部分建立了新的训练集选取方法。本文使用聚类算法提取程序内部含有不同访存特性的代码片段,并将其合并为一个训练集。使用该训练集训练的ANN模型有效的提升了跨程序预测Cache命中率的精度。第二部分是将模型实现为了一个完整的工具。前期的Cache解析模型都只是停留在研究性模型的层面,一个可以对Cache设计空间探索提供有效帮助的模型应该具有耗时短,易于操作的特点。为了简化Cache解析模型的使用操作,本文使用python将其实现为一个完整的工具,并留下可扩展接口,以便于之后添加新的功能。本文建立的模型在9种Cache配置下分别预测7组不同bench的Cache命中次数,与Gem5全仿真结果相比,模型的平均精度在93%左右,相比较前期的模型,平均精度提升了 5%。在时间方面,模型与Gem5时钟精准型仿真相比,最高可以节省90%的时间。另外,本文构建的Cache行为工具脱离了对外部软件的依赖,大幅度地降低了建立和使用模型的操作难度。