一种面向移动智能终端处理器的基准测试程序合成方法技术

技术编号:14983399 阅读:67 留言:0更新日期:2017-04-03 14:33
本发明专利技术公开了一种面向移动智能终端处理器的基准测试程序合成方法,该方法用以合成一个测试程序代表多类实际应用对移动智能终端处理器的压力,包括:程序阶段级微结构无关特征提取,程序片段的控制流图构建,程序规模缩减与控制流图重构,典型基本块提取与模板代码设计,自动化的模板匹配,测试程序的迭代改进,最终拼接成一个完整测试程序,使其与原应用程序具有相似的微结构无关特征。本发明专利技术方法通过保留原应用程序中更多重要的负载特征,可以使合成的测试程序具有更高的代表性,并通过去除冗余基本块,有效缩减测试程序规模。

【技术实现步骤摘要】

本专利技术涉及一种面向移动智能终端处理器的基准测试程序合成方法,属于处理器体系结构技术。
技术介绍
在处理器设计的过程中,设计人员通常需要多次评估测试自己的设计方案,根据测试结果分析硬件性能瓶颈,不断改进设计方案,最终达到设计需求和规格说明。唯一稳定、可靠的性能度量是实际应用的执行时间。然而实际应用的数量无穷尽,只能用少量的测试程序代替大量的实际应用对处理器进行测试。为了使测试程序具有很高的代表性,同时测试时间又在一个可接受的范围内,一种方法是根据原始程序动态执行时的特征统计信息合成新的程序,使得合成的基准测试程序可以代表实际应用对硬件的压力。因此,测试程序合成方法的重点就在于,要确保合成的测试程序与原应用程序具有相似的负载特征。然而,当前的基准测试程序合成方法中,有的统计信息包含程序执行过程中的部分微结构相关特征,即分支预测错误率、缓存缺失率等。并针对这类程序特征合成测试程序。由于含有微结构相关特征,导致合成的基准测试程序保留了原应用程序在特定硬件上的负载特性,因此跨硬件平台时对实际应用并不具备很好的代表性。因此更多的基准测试程序合成方法中,选择统计微结构无关的负载特征。然而一些方法中,仅统计了较少的微结构无关特征,包括指令混合比、分支行为相关特征、访存行为相关特征。没有覆盖到其它一些重要的程序特征,比如指令之间的依赖关系,以及移动智能终端上的安卓应用引入的新的程序特征,即串行化指令。导致难以合成出具有较高代表性的测试程序。此外,当前的合成技术没有很有效地减少测试程序的执行时间,合成的基准测试程序体积仍较大,执行和仿真时间仍然很长,影响硬件架构的评估和优化周期。
技术实现思路
专利技术目的:为了克服现有技术中存在的不足,本专利技术提供一种与体系结构无关的、执行时间缩短的、可以代表多类实际应用对移动智能终端处理器压力的基准测试程序的合成方法。技术方案:为实现上述目的,本专利技术采用的技术方案为:一种面向移动智能终端处理器的基准测试程序合成方法,包括如下步骤:(1)将原程序按照执行时的线程切换划分为若干切片,分别统计每个切片的动态指令流中的微结构无关特征;(2)每个切片内部以基本块为单位,通过基本块间的跳转关系构建所属切片的控制流程图,统计每个基本块的执行次数;(3)对每个切片内部的所有基本块,通过缩减因子去除执行次数低于阈值的基本块;对每个切片内部保留下来的基本块,通过基本块间的跳转关系重新构建所属切片的控制流程图,根据基本块的分支跳转比例和分支跳转变换率确定基本块的分支行为;(4)对每个切片内部保留下来的基本块,按照微结构无关特征进行聚类,选取每个类别中距离中心点最近的基本块作为所属类别的设计模块;(5)对每个切片内部保留下来的基本块,使用背包算法从设计模块中选取特定的设计模块替代原始的基本块,更新切片的控制流程图,形成所属切片的基准测试程序,得到的切片的基准测试程序与原切片具有相似的微结构无关特征;(6)对每个切片的基准测试程序,使用遗传算法进行迭代改进,形成所属切片的优化基准测试程序;(7)将所有切片的优化基准测试程序进行串行拼接,最终形成完整的基准测试程序,得到的完整的基准测试程序与原应用程序具有相似的微结构无关特征。优选的,所述微结构无关特征包括分支跳转比例、分支跳转变换率、指令混合比、访存步长、重用距离、关键路径长度和串行指令,相关定义如下:分支跳转比例:一条条件分支发生跳转的平均概率;分支跳转变换率:一条条件分支在跳转与非跳转之间变换的概率;对于很高和很低的分支跳转变换率,分支预测器容易预测;指令混合比:每类指令类型所占的比例,包括整数加减指令、浮点加减指令、整数乘法指令、浮点乘法指令、压栈操作、出栈操作、空指令、读指令和写指令等;访存步长:时间上连续的两次访存地址的跨度;重用距离:在两次访问同一地址块的访存操作之间,访问其他特定地址范围内的访存操作的次数;关键路径长度:关键路径长度的分布是一种量化评估指令间数据依赖关系的方法,对于特定指令窗大小(如m个入口项)的乱序超标量处理器而言,连续m条动态指令之间存在的最长真数据相关依赖链路就是关键路径;关键路径上动态指令的数目即为关键路径长度;一段动态指令流中,关键路径长度是不完全相同的,因此可以采用关键路径长度的分布,量化表征程序内在的指令并行度;串行指令:通过强制流水线按照顺序执行部分动态指令流,从而保证某些关键操作(比如对处理器状态寄存器的修改,确定访存顺序等)的执行顺序,主要包括数据存储器隔离(DMB),数据同步隔离(DSB)以及指令同步隔离(ISB)。优选的,所述步骤(3)中,通过缩减因子去除执行次数低于阈值的基本块的具体方法为:将所有基本块的执行次数除以缩减因子R,去除所有计算结果小于1的基本块。优选的,所述步骤(4)中,对每个切片内部保留下来的基本块,按照微结构无关特征进行k-means聚类。优选的,所述步骤(6)中,使用遗传算法进行迭代改进的具体方法为:(61)对由设计模块组合而成的切片的基准测试程序计算切片的理论特征向量,对理论特征向量中的每个值进行二进制编码,然后按设计算法对部分二进制位进行翻转生成N个测试特征向量,对该N个测试特征向量再根据步骤(5)生成N个基准测试程序;(62)将N个基准测试程序在模拟器上执行并统计得到的N个实际特征向量;(63)选取N个基准测试程序中,实际特征向量与切片的原始特征向量几何距离最小的两个基准测试程序作为父类测试程序,判断两个父类测试程序的实际特征向量是否收敛:若收敛,则进入步骤(65);否则,进入步骤(64);(64)对两个父类测试程序的两个测试特征向量中的每个值进行二进制编码,随机互换该两个测试特征向量中的某些特征值,并对部分二进制位进行翻转生成N个测试特征向量,对该N个测试特征向量再根据步骤(5)生成N个基准测试程序,返回步骤(62);(65)任意选取两个父类测试程序之一作为所属切片的优化基准测试程序。优选的,所述步骤(7)中,不考虑各个切片的优化基准测试程序之间的数据和控制关系,仅在每个切片的优化基准测试程序的开始和结束为止模拟线程切换时的保护现场和恢复现场动作,将属于不同线程的各个切片的优化基准测试程序进行串行拼接,最终形成完整的基准测试程序。有益效果:本专利技术提供的面向移动智能终端处理器的基准测试程序合成方法,合成的测试程序具有更高的代表性,同时能更加有效的缩减程序规模;首先,本专利技术在合成测试程序时保留的全部是微结构无关特征,本文档来自技高网
...

【技术保护点】
一种面向移动智能终端处理器的基准测试程序合成方法,其特征在于:包括如下步骤:(1)将原程序按照执行时的线程切换划分为若干切片,分别统计每个切片的动态指令流中的微结构无关特征;(2)每个切片内部以基本块为单位,通过基本块间的跳转关系构建所属切片的控制流程图,统计每个基本块的执行次数;(3)对每个切片内部的所有基本块,通过缩减因子去除执行次数低于阈值的基本块;对每个切片内部保留下来的基本块,通过基本块间的跳转关系重新构建所属切片的控制流程图,根据基本块的分支跳转比例和分支跳转变换率确定基本块的分支行为;(4)对每个切片内部保留下来的基本块,按照微结构无关特征进行聚类,选取每个类别中距离中心点最近的基本块作为所属类别的设计模块;(5)对每个切片内部保留下来的基本块,使用背包算法从设计模块中选取特定的设计模块替代原始的基本块,更新切片的控制流程图,形成所属切片的基准测试程序;(6)对每个切片的基准测试程序,使用遗传算法进行迭代改进,形成所属切片的优化基准测试程序;(7)将所有切片的优化基准测试程序进行串行拼接,最终形成完整的基准测试程序。

【技术特征摘要】
1.一种面向移动智能终端处理器的基准测试程序合成方法,其特征在于:包括如
下步骤:
(1)将原程序按照执行时的线程切换划分为若干切片,分别统计每个切片的动态
指令流中的微结构无关特征;
(2)每个切片内部以基本块为单位,通过基本块间的跳转关系构建所属切片的控
制流程图,统计每个基本块的执行次数;
(3)对每个切片内部的所有基本块,通过缩减因子去除执行次数低于阈值的基本
块;对每个切片内部保留下来的基本块,通过基本块间的跳转关系重新构建所属切片的
控制流程图,根据基本块的分支跳转比例和分支跳转变换率确定基本块的分支行为;
(4)对每个切片内部保留下来的基本块,按照微结构无关特征进行聚类,选取每
个类别中距离中心点最近的基本块作为所属类别的设计模块;
(5)对每个切片内部保留下来的基本块,使用背包算法从设计模块中选取特定的
设计模块替代原始的基本块,更新切片的控制流程图,形成所属切片的基准测试程序;
(6)对每个切片的基准测试程序,使用遗传算法进行迭代改进,形成所属切片的
优化基准测试程序;
(7)将所有切片的优化基准测试程序进行串行拼接,最终形成完整的基准测试程
序。
2.根据权利要求1所述的面向移动智能终端处理器的基准测试程序合成方法,其
特征在于:所述微结构无关特征包括分支跳转比例、分支跳转变换率、指令混合比、访
存步长、重用距离、关键路径长度和串行指令。
3.根据权利要求1所述的面向移动智能终端处理器的基准测试程序合成方法,其
特征在于:所述步骤(3)中,通过缩减因子去除执行次数低于阈值的基本块的具体方
法为:将所有基本块的执行次数除以缩减因子R,去除所有计算结果小于1的基本块。
4.根据权利要求1所述的面向移动智能终...

【专利技术属性】
技术研发人员:沙江李宁张阳
申请(专利权)人:东南大学—无锡集成电路技术研究所
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1