论文部分内容阅读
面向移动终端的嵌入式处理器性能评估需要具有代表性的测试程序,而研究主流应用的软件行为特征对生成测试程序具有十分重要的作用。目前安卓应用是主流应用之一。因此本文通过分析安卓应用阶段性的微架构无关负载特征等软件行为,选取能够代表整个应用的程序片段,为最终生成代表性测试程序提供可靠依据。本文根据安卓应用的执行行为特点,基于已有的微架构无关特征参数,添加了串行指令的比例及其分布、分支行为中跳转地址的分布、平均寄存器读取数和赋值数以及数据的空间局部性四类微架构无关特征,总计得到227个微架构无关特征维度。同时本文采用了基于相关性消除法以及遗传算法的降维方法对227个微架构无关负载特征进行降维,得到了 77个微架构无关负载特征,使降维前后的负载特征平均相关系数为0.835;并进一步采用主成分分析法及K-means聚类算法对所有特征片段聚类,提取典型特征片段来代表整个安卓应用执行时的负载特征。本文以Gem5模拟器作为研究平台,将Moby测试集中的9个安卓应用基于固定Cycle数(1千万)切割,提取所有特征片段阶段性的微架构无关以及相关软件负载特征。实验结果表明:最终所选典型特征片段与多个安卓应用整体的每个时钟周期执行指令数(Instructions per Cycle,IPC)平均误差为1.29%,一级指令cache缺失率(LII-Cachemiss)平均误差为3.84%,一级数据cache缺失率(L1D-Cachemiss)平均误差为3.73%,分支预测错误率(Branch miss)平均误差为7.85%。因此,最终所选取的典型特征片段能较好地代表整个安卓应用执行时的负载特征。