指令验证方法、装置及存储介质制造方法及图纸

技术编号:21604930 阅读:20 留言:0更新日期:2019-07-13 18:01
本发明专利技术实施例提供一种指令验证方法、装置及存储介质,该方法包括:在指令文件中确定预留指令和第一合法指令,预留指令的第一预设位中的值为空,第一合法指令中的第二预设位中的值为固定值;生成预留指令对应的第一非法指令集合和第一合法指令对应的第二非法指令集合,第一非法指令集合中包括至少一个与预留指令对应的非法指令,第二非法指令集合中包括至少一个与第一合法指令对应的非法指令;通过处理器执行第一非法指令集合和第二非法指令集合中的非法指令,以确定处理器和指令文件的一致性结果。用于提高对指令一致性验证的效率。

Instruction Verification Method, Device and Storage Media

【技术实现步骤摘要】
指令验证方法、装置及存储介质
本专利技术实施例涉及计算机
,尤其涉及一种指令验证方法、装置及存储介质。
技术介绍
在研发处理器的同时,通常会配置有对应的指令文件,指令文件中包括了处理器能够执行的所有指令。为了确保处理器的安全性,需要使得处理器和指令文件具备指令一致性。其中,处理器和指令文件具备指令一致性是指处理器只能执行指令文件中包括的指令,即,当处理器执行指令文件中不包括的指令时,处理器需要报错。在现有技术中,对于定长指令集的处理器,通常会执行所有可能组合的指令,并判断执行不在指令文件中的指令时是否报异常。例如,对于32位指令,首先组合得到232个指令,该232个指令中部分指令为指令文件中包括的指令,部分指令为指令文件中不包括的指令,处理器需要执行组合得到的232个指令,并判断不在指令文件中的执行是否报异常。然而,在上述过程中,需要对大量的指令进行验证,导致指令一致性验证的效率低下。
技术实现思路
本专利技术实施例提供一种指令验证方法、装置及存储介质,提高了指令一致性验证的效率。第一方面,本专利技术实施例提供一种指令验证方法,包括:在指令文件中确定预留指令和第一合法指令,所述预留指令的第一预设位中的值为空,所述第一合法指令中的第二预设位中的值为固定值;生成所述预留指令对应的第一非法指令集合和所述第一合法指令对应的第二非法指令集合,所述第一非法指令集合中包括至少一个与所述预留指令对应的非法指令,所述第二非法指令集合中包括至少一个与所述第一合法指令对应的非法指令;通过处理器执行所述第一非法指令集合和所述第二非法指令集合中的非法指令,以确定所述处理器和所述指令文件的一致性结果。在一种可能的实施方式中,所述生成所述预留指令对应的第一非法指令集合,包括:根据第一位数,分别将所述第一预设位中的值设置为与所述第一位数对应的第一数值范围中的每一个数值,得到所述第一非法指令集合;所述第一位数为所述第一预设位包含的位数。在另一种可能的实施方式中,所述生成所述第一合法指令对应的第二非法指令集合,包括:根据第二位数以及第三位数,分别将所述第二预设位中的值设置为与所述第二位数对应的第二数值范围中除所述固定值之外的每一个数值,并分别将所述第一合法指令中可变位中的值设置为与所述第三位数对应的第三数值范围中的每一个数值,得到所述第二非法指令集合,所述第二位数为所述第二预设位包含的位数,所述第三位数为所述可变位包含的位数。在另一种可能的实施方式中,所述通过处理器执行所述第一非法指令集合和所述第二非法指令集合中的非法指令,以确定所述处理器和所述指令文件的一致性结果,包括:通过所述处理器执行所述第一非法指令集合和所述第二非法指令集合中的非法指令,得到所述第一非法指令集合和所述第二非法指令集合中每一个非法指令对应的处理结果;根据所述处理结果,确定所述处理器和所述指令文件的一致性结果。在另一种可能的实施方式中,根据所述处理结果,确定所述处理器和所述指令文件的一致性结果,包括:若所述处理结果均包括异常指示,则确定所述一致性结果为所述处理器和所述指令文件具备指令一致性;若所述处理结果中存在至少一条处理结果未包括异常指示,则确定所述一致性结果为所述处理器和所述指令文件不具备指令一致性。第二方面,本专利技术实施例提供一种指令验证装置,包括第一确定模块、生成模块和第二确定模块,其中,所述第一确定模块用于,在指令文件中确定预留指令和第一合法指令,所述预留指令的第一预设位中的值为空,所述第一合法指令中的第二预设位中的值为固定值;所述生成模块用于,生成所述预留指令对应的第一非法指令集合和所述第一合法指令对应的第二非法指令集合,所述第一非法指令集合中包括至少一个与所述预留指令对应的非法指令,所述第二非法指令集合中包括至少一个与所述第一合法指令对应的非法指令;所述第二确定模块用于,通过处理器执行所述第一非法指令集合和所述第二非法指令集合中的非法指令,以确定所述处理器和所述指令文件的一致性结果。在一种可能的实施方式中,所述生成模块具体用于:根据第一位数,分别将所述第一预设位中的值设置为与所述第一位数对应的第一数值范围中的每一个数值,得到所述第一非法指令集合;所述第一位数为所述第一预设位包含的位数。在另一种可能的实施方式中,所述生成模块具体用于:根据第二位数以及第三位数,分别将所述第二预设位中的值设置为与所述第二位数对应的第二数值范围中除所述固定值之外的每一个数值,并分别将所述第一合法指令中可变位中的值设置为与所述第三位数对应的第三数值范围中的每一个数值,得到所述第二非法指令集合,所述第二位数为所述第二预设位包含的位数,所述第三位数为所述可变位包含的位数。在另一种可能的实施方式中,所述第二确定模块具体用于:通过所述处理器执行所述第一非法指令集合和所述第二非法指令集合中的非法指令,得到所述第一非法指令集合和所述第二非法指令集合中每一个非法指令对应的处理结果;根据所述处理结果,确定所述处理器和所述指令文件的一致性结果。在另一种可能的实施方式中,所述第二确定模块具体用于:若所述处理结果均包括异常指示,则确定所述一致性结果为所述处理器和所述指令文件具备指令一致性;若所述处理结果中存在至少一条处理结果未包括异常指示,则确定所述一致性结果为所述处理器和所述指令文件不具备指令一致性。第三方面,本专利技术实施例提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行上述第一方面任一项所述的方法。本专利技术实施例提供的指令验证方法、装置及存储机制,在指令文件中确定预留指令和第一合法指令,预留指令的第一预设位中的值为空,第一合法指令中的第二预设位中的值为固定值;分别生成预留指令对应的第一非法指令集合和第一合法指令对应的第二非法指令集合;通过处理器执行第一非法指令集合和第二非法指令集合中的非法指令,以确定处理器和指令文件的一致性结果。在上述过程中,处理器只需对非法指令(第一非法指令集合和第二非法指令集合中的非法指令)进行验证即可获取得到一致性验证结果,非法指令的数量远远小于根据指令位数组合得到的指令的个数,进而提高了对指令一致性验证的效率。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的指令验证的架构图;图2为本专利技术实施例提供的指令验证方法的流程示意图一;图3为本专利技术实施例提供的指令验证方法的流程示意图二;图4为本专利技术实施例提供的指令验证装置的结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。图1为本专利技术实施例提供的指令验证的架构图。请参见图1,包括指令文件101和处理器102。其中,在指令文件中包括处理器102能够执行的指令。当需要验证处理器和指令文件的一致性时,可本文档来自技高网...

【技术保护点】
1.一种指令验证方法,其特征在于,包括:在指令文件中确定预留指令和第一合法指令,所述预留指令的第一预设位中的值为空,所述第一合法指令中的第二预设位中的值为固定值;生成所述预留指令对应的第一非法指令集合和所述第一合法指令对应的第二非法指令集合,所述第一非法指令集合中包括至少一个与所述预留指令对应的非法指令,所述第二非法指令集合中包括至少一个与所述第一合法指令对应的非法指令;通过处理器执行所述第一非法指令集合和所述第二非法指令集合中的非法指令,以确定所述处理器和所述指令文件的一致性结果。

【技术特征摘要】
1.一种指令验证方法,其特征在于,包括:在指令文件中确定预留指令和第一合法指令,所述预留指令的第一预设位中的值为空,所述第一合法指令中的第二预设位中的值为固定值;生成所述预留指令对应的第一非法指令集合和所述第一合法指令对应的第二非法指令集合,所述第一非法指令集合中包括至少一个与所述预留指令对应的非法指令,所述第二非法指令集合中包括至少一个与所述第一合法指令对应的非法指令;通过处理器执行所述第一非法指令集合和所述第二非法指令集合中的非法指令,以确定所述处理器和所述指令文件的一致性结果。2.根据权利要求1所述的方法,其特征在于,所述生成所述预留指令对应的第一非法指令集合,包括:根据第一位数,分别将所述第一预设位中的值设置为与所述第一位数对应的第一数值范围中的每一个数值,得到所述第一非法指令集合;所述第一位数为所述第一预设位包含的位数。3.根据权利要求1所述的方法,其特征在于,所述生成所述第一合法指令对应的第二非法指令集合,包括:根据第二位数以及第三位数,分别将所述第二预设位中的值设置为与所述第二位数对应的第二数值范围中除所述固定值之外的每一个数值,并分别将所述第一合法指令中可变位中的值设置为与所述第三位数对应的第三数值范围中的每一个数值,得到所述第二非法指令集合,所述第二位数为所述第二预设位包含的位数,所述第三位数为所述可变位包含的位数。4.根据权利要求1-3任一项所述的方法,其特征在于,所述通过处理器执行所述第一非法指令集合和所述第二非法指令集合中的非法指令,以确定所述处理器和所述指令文件的一致性结果,包括:通过所述处理器执行所述第一非法指令集合和所述第二非法指令集合中的非法指令,得到所述第一非法指令集合和所述第二非法指令集合中每一个非法指令对应的处理结果;根据所述处理结果,确定所述处理器和所述指令文件的一致性结果。5.根据权利要求4所述的方法,其特征在于,根据所述处理结果,确定所述处理器和所述指令文件的一致性结果,包括:若所述处理结果均包括异常指示,则确定所述一致性结果为所述处理器和所述指令文件具备指令一致性;若所述处理结果中存在至少一条处理结果未包括异常指示,则确定所述一致性结果为所述处理器和所述指令文件不具备指令一致性。6.一种指令验证...

【专利技术属性】
技术研发人员:王宗磊汪文祥
申请(专利权)人:龙芯中科技术有限公司
类型:发明
国别省市:北京,11

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

1