一种处理器指令集测试方法和装置制造方法及图纸

技术编号:21431825 阅读:14 留言:0更新日期:2019-06-22 11:49
本发明专利技术实施例提供一种处理器指令集测试方法和装置,用于发现指令设计的缺陷。本发明专利技术实施例根据处理器设计厂商公布的指令集手册将整个指令空间分为已定义指令集和未定义指令集两部分,两类指令集分别采用不同的测试方法,已定义指令集采用现有的指令集测试方法如随机测试等方法进行测试,未定义指令集采用本发明专利技术实施例提出的未定义指令集测试方法进行测试,弥补了现有的指令集测试方法只聚焦于测试已定义指令的不足,测试范围既覆盖到了已定义指令,又覆盖到了未定义指令,尤其是,可以对未定义指令集进行全覆盖的测试。

【技术实现步骤摘要】
一种处理器指令集测试方法和装置
本专利技术涉及处理器
,更具体地,涉及一种处理器指令集测试方法和装置。
技术介绍
处理器指令集是整个计算机系统的根本,它定义了处理器具备哪些功能,因此,指令集测试是处理器开发过程中至关重要的一环。现有的处理器指令集测试方法主要在处理器设计的功能验证阶段用来对指令实现的正确性进行验证,主要测试方法有随机测试和形式化验证两种。形式化验证的方法通过数学手段建立状态机模型,自动生成测试用例,优点是覆盖率高,但是由于存在状态空间爆炸的问题,只能用于规模较小的部件。现在主流的指令集测试方法是随机测试,随机测试的方法通过随机指令生成器生成一系列指令序列,再将这些指令序列分别在物理模型和参考模型上运行,之后将两个模型的运行结果进行对比,从而发现设计上的缺陷。现有的指令集测试技术主要聚焦于对处理器设计厂商所公布的指令集手册中已定义的那部分指令进行测试,对于指令集手册中未定义的那部分指令则缺乏有效的测试手段。然而,未定义指令有可能被处理器设计厂商错误设计,这些指令被执行后将产生不可预料的后果,且未定义指令也有可能被处理器设计厂商有意设计,以在用户不知情的情况下执行某些特殊功能。
技术实现思路
本专利技术提供一种克服上述问题或者至少部分地解决上述问题的一种处理器指令集测试方法和装置。第一方面,本专利技术提供一种处理器指令集测试方法,包括:获取处理器指令集中的未定义指令集,对所述未定义指令集中的未定义指令进行测试;若当前未定义指令执行测试后产生了异常信号,且所述异常信号为非法指令异常信号,则判断当前未定义指令为正常未定义指令,返回测试下一个未定义指令;若当前未定义指令执行测试后产生了异常信号,且所述异常信号不为非法指令异常信号,则判断当前未定义指令为缺陷未定义指令,返回测试下一个未定义指令。作为优选的,还包括:获取处理器指令集中的已定义指令集,对所述已定义指令集中的已定义指令进行测试。作为优选的,若当前未定义指令执行测试后未产生异常信号,则判断当前未定义指令为缺陷未定义指令。作为优选的,对所述未定义指令集中的未定义指令进行测试,具体包括:判断所述未定义指令集是否为空;若判断获知所述未定义指令集为空,则结束测试;若判断获知所述未定义指令集不为空,则从所述未定义指令集中取出一条未定义指令进行测试,并将取出的未定义指令从所述未定义指令集中移除。作为优选的,在判断当前未定义指令为缺陷未定义指令后,还包括:将所述缺陷未定义指令记录到日志文件中。第二方面,本专利技术提供一种处理器指令集测试装置,包括:取指令模块,用于获取处理器指令集中的未定义指令集;异常处理模块,用于若当前未定义指令执行测试后产生了异常信号,且所述异常信号为非法指令异常信号,则判断当前未定义指令为正常未定义指令,返回测试下一个未定义指令;若当前未定义指令执行测试后产生了异常信号,且所述异常信号不为非法指令异常信号,则判断当前未定义指令为缺陷未定义指令,返回测试下一个未定义指令。作为优选的,还包括:指令执行模块,用于对当前未定义指令执行测试,若未产生异常信号,则判断当前未定义指令为缺陷未定义指令,将所述缺陷未定义指令记录到日志文件中;若产生异常信号,则将所述异常信号传送至所述异常处理模块。作为优选的,所述取指令模块还用于判断所述未定义指令集是否为空;若判断获知所述未定义指令集为空,则结束测试;若判断获知所述未定义指令集不为空,则从所述未定义指令集中取出一条未定义指令进行测试,并将取出的未定义指令从所述未定义指令集中移除。第三方面,本专利技术提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所提供的方法的步骤。第四方面,本专利技术提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所提供的方法的步骤。本专利技术实施例提出了一种处理器指令集测试方法和装置,根据处理器设计厂商公布的指令集手册将整个指令空间分为已定义指令集和未定义指令集两部分,两类指令集分别采用不同的测试方法,弥补了现有的指令集测试方法只聚焦于测试已定义指令的不足,测试范围既覆盖到了已定义指令,又覆盖到了未定义指令,尤其是,可以对未定义指令集进行全覆盖的测试。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为根据本专利技术实施例的处理器指令集测试方法示意图;图2为根据本专利技术实施例的处理器指令集处理器指令集测试方法具体流程示意图;图3为根据本专利技术实施例的处理器指令集测试装置示意图;图4为根据本专利技术实施例的处理器指令集测试装置的测试流程示意图;图5为根据本专利技术实施例的电子设备的实体结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术各实施例根据处理器设计厂商公布的指令集手册将整个指令空间分为已定义指令集和未定义指令集两部分,两类指令集分别采用不同的测试方法,弥补了现有的指令集测试方法只聚焦于测试已定义指令的不足,测试范围既覆盖到了已定义指令,又覆盖到了未定义指令,尤其是,可以对未定义指令集进行全覆盖的测试。以下将通过多个实施例进行展开说明和介绍。图1为本专利技术实施例提供的一种处理器指令集测试方法示意图,包括:S1、获取处理器指令集中的未定义指令集,对所述未定义指令集中的未定义指令进行测试;S2、若当前未定义指令执行测试后产生了异常信号,且所述异常信号为非法指令异常信号,则判断当前未定义指令为正常未定义指令,返回测试下一个未定义指令;若当前未定义指令执行测试后产生了异常信号,且所述异常信号不为非法指令异常信号,则判断当前未定义指令为缺陷未定义指令,返回测试下一个未定义指令;若当前未定义指令执行测试后不产生异常信号,则判断当前未定义指令为缺陷未定义指令,返回测试下一个未定义指令。在本实施例中,如图2中所示,将未定义指令集作为待测指令集合,对待测指令集合中每个未定义指令执行测试,根据测试的执行结果把未定义指令分成两类:正常未定义指令和缺陷未定义指令;其中正常未定义指令为执行测试后产生非法指令异常信号的指令;缺陷未定义指令为执行测试后不产生任何异常信号或者执行后产生除非法指令异常信号外的其他类型的异常信号的指令。在本实施例中,如图2中所示,将未定义指令集作为待测指令集合,对其中待测指令集合中每个未定义指令执行测试,执行测试指令后,需要判断当前未定义指令执行测试后是否产生了异常信号,具体的,若产生异常信号,则需进一步判断该异常信号是否为非法指令异常信号;若未产生异常信号,则判断当前未定义指令为缺陷未定义指令,并将所述缺陷未定义指令记录到日志文件中,返回测试下一个未定义指令。在上述各实施例的基础上,如图2中所本文档来自技高网...

【技术保护点】
1.一种处理器指令集测试方法,其特征在于,包括:获取处理器指令集中的未定义指令集,对所述未定义指令集中的未定义指令进行测试;若当前未定义指令执行测试后产生了异常信号,且所述异常信号为非法指令异常信号,则判断当前未定义指令为正常未定义指令,返回测试下一个未定义指令;若当前未定义指令执行测试后产生了异常信号,且所述异常信号不为非法指令异常信号,则判断当前未定义指令为缺陷未定义指令,返回测试下一个未定义指令。

【技术特征摘要】
1.一种处理器指令集测试方法,其特征在于,包括:获取处理器指令集中的未定义指令集,对所述未定义指令集中的未定义指令进行测试;若当前未定义指令执行测试后产生了异常信号,且所述异常信号为非法指令异常信号,则判断当前未定义指令为正常未定义指令,返回测试下一个未定义指令;若当前未定义指令执行测试后产生了异常信号,且所述异常信号不为非法指令异常信号,则判断当前未定义指令为缺陷未定义指令,返回测试下一个未定义指令。2.根据权利要求1所述的处理器指令集测试方法,其特征在于,还包括:获取处理器指令集中的已定义指令集,对所述已定义指令集中的已定义指令进行测试。3.根据权利要求1所述的处理器指令集测试方法,其特征在于,若当前未定义指令执行测试后未产生异常信号,则判断当前未定义指令为缺陷未定义指令。4.根据权利要求1所述的处理器指令集测试方法,其特征在于,对所述未定义指令集中的未定义指令进行测试,具体包括:判断所述未定义指令集是否为空;若判断获知所述未定义指令集为空,则结束测试;若判断获知所述未定义指令集不为空,则从所述未定义指令集中取出一条未定义指令进行测试,并将取出的未定义指令从所述未定义指令集中移除。5.根据权利要求1或3所述的处理器指令集测试方法,其特征在于,在判断当前未定义指令为缺陷未定义指令后,还包括:将所述缺陷未定义指令记录到日志文件中。6.一种处理器指令集测试装置,其特征在于,包括:...

【专利技术属性】
技术研发人员:孟丹李丹萍朱子元
申请(专利权)人:中国科学院信息工程研究所
类型:发明
国别省市:北京,11

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

1