一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于处理器仿真验证的大规模用例生成方法与流程

2021-11-24 21:16:00 来源:中国专利 TAG:

技术特征:
1.一种用于处理器仿真验证的大规模用例生成方法,其特征在于,包括:步骤s1:进行指令格式的正则化描述,得到经过描述的指令;步骤s2:利用经过描述的指令进行指令流描述和混合,得到目标指令流,该目标指令流为测试用例的主体部分,从而形成测试用例的测试阶段程序;步骤s3:进行程序运行基础描述,以形成测试用例的初始化阶段程序;步骤s4:进行用例描述,以生成测试用例配置;步骤s5:利用所述指令、测试用例的测试阶段程序、测试用例的初始化阶段程序和所述测试用例配置来生成测试用例。2.根据权利要求1所述的用于处理器仿真验证的大规模用例生成方法,其特征在于,所述步骤s1包括:步骤s11:进行每个指令的指令名称描述;步骤s12:进行每个指令的操作数描述,以得到指令的初始格式;所述步骤s12包括:步骤s121:列出操作数的各种可能组合;步骤s122:对于给定的每一个操作数组合,均对该操作数组合的每个操作数的类型进行规定;指令格式的初始格式如下:<instr_name>[rmin]*其中,<instr_name>表示指令的指令名称,[rmin]表示一个操作数,每个操作数[rmin]的类型可以是r、m、i、n四个类型中的一个,*表示匹配0次或多次,即操作数可以有0个,1个,

或多个,r为寄存器类型的操作数,m为内存类型的操作数、i为立即数类型的操作数,n表示类型为空。3.根据权利要求2所述的用于处理器仿真验证的大规模用例生成方法,其特征在于,所述步骤s12还可以包括:对操作数类型进行范围限定,以提供操作数随机时的约束条件;采用如下形式对操作数类型进行范围限定:t(cons0,cons1,cons
i
,cons
n
‑1)其中,t为操作数类型声明t=r,m,i,其中r为寄存器类型的操作数,m为内存类型的操作数、i为立即数类型的操作数。上述表达式(cons0,cons1,cons
i
,cons
n
‑1)部分为类型t的一个或多个约束。4.根据权利要求2所述的用于处理器仿真验证的大规模用例生成方法,其特征在于,所述步骤s1还包括步骤s13:进行附加功能描述,以得到指令的扩展格式;所述指令的扩展形式为:<instr_name>[rminp]*其中,<instr>为指令名称,p为模式操作数,这里的p可展开为<prefix>[rmin]*<suffix>的形式,其中<prefix>为模式操作数的前缀部分,而<suffix>为模式操作数的后缀部分。5.根据权利要求1所述的用于处理器仿真验证的大规模用例生成方法,其特征在于,所述步骤s2具体包括:步骤s21:进行子指令流描述,所述子指令流面向处理器的待验证的功能点;
步骤s22:进行指令块切分描述;步骤s23:进行指令块重定向描述,以使得指令块能够动态拼接;步骤s24:对多个子指令流进行混合而得到目标指令流,目标指令流对应于验证场景,从而形成测试用例的主体部分;在所述测试用例被执行时,多个任务共用一测试用例组,并通过步骤s23的指令块重定向描述实现指令块动态拼接,使得不同的任务的目标指令流的程序代码能够一次生成并且差异化执行,以共享使用。6.根据权利要求5所述的用于处理器仿真验证的大规模用例生成方法,其特征在于,在所述步骤s22中,所述主子指令流根据整体需要切分的指令块数量,在主子指令流内的多个随机位置加入标记,来标记指令块的开始和结束位置,从而实现指令块切分描述;在步骤s24中,在合成过程中,首先将其中一个子指令流与主子指令流混合而得到初始的目标指令流,随后各个子指令流逐个混合到该目标指令流中,以得到最终的目标指令流;待混合的子指令流包括分支指令流、循环指令流、函数调用指令流、乱序操作指令流、访存指令流、异常操作指令流、同步操作指令流的指令流中的至少一种。7.根据权利要求6所述的用于处理器仿真验证的大规模用例生成方法,其特征在于,在使用所述访存指令流对共享数据进行访问时,各个任务允许共享使用缓存行,但是访问的只能是缓存行内的不同区域。8.根据权利要求1所述的用于处理器仿真验证的大规模用例生成方法,其特征在于,所述步骤s3包括:步骤s31:生成运行环境初始化的指令,该指令用于实现运行环境的初始化和加载,建立系统上下文;步骤s32:生成用于指令块拼接的指令块拼接逻辑;步骤s33:进行任务上下文初始化;步骤s34:进行程序页表描述,所述程序页表描述用于形成多任务程序的所有任务的页表。9.根据权利要求8所述的用于处理器仿真验证的大规模用例生成方法,其特征在于,在所述步骤s32中,所述指令块拼接逻辑为多任务共享的共享函数,该共享函数用于在测试用例进行指令块动态衔接时根据该共享函数来计算获取下一指令块的位置。10.根据权利要求1所述的用于处理器仿真验证的大规模用例生成方法,其特征在于,在所述步骤s5中,在生成测试用例时,步骤s1所形成的指令、步骤s2形成的测试用例的测试阶段程序、步骤s3形成的测试用例的初始化阶段程序所需要的测试用例配置均由步骤s4的测试用例配置来提供和描述。

技术总结
本发明通过一种用于处理器仿真验证的大规模用例生成方法,包括:进行指令格式的正则化描述,得到经过描述的指令;利用经过描述的指令进行指令流描述和混合,得到目标指令流,该目标指令流为测试用例的主体部分,从而形成测试用例的测试阶段程序;进行程序描述,以形成测试用例的初始化阶段程序;进行用例描述,以生成测试用例配置;利用所述指令、测试用例的测试阶段程序、测试用例的初始化阶段程序和所述测试用例配置来生成测试用例。本发明通过指令与指令流描述的解耦合使得指令流描述中可以使用抽象指令进行指令流组织,从而带来程序模式描述的简化;此外,还通过正则表达式对复杂指令格式进行编程,支持复杂指令格式描述。述。述。


技术研发人员:慈轶为 赵姗 梁佳辉
受保护的技术使用者:中国科学院上海高等研究院
技术研发日:2021.08.26
技术公布日:2021/11/23
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献