[发明专利]指令验证方法、装置及存储介质有效
申请号: | 201810010681.8 | 申请日: | 2018-01-05 |
公开(公告)号: | CN110007958B | 公开(公告)日: | 2021-06-08 |
发明(设计)人: | 王宗磊;汪文祥 | 申请(专利权)人: | 龙芯中科技术股份有限公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 董建姣;刘芳 |
地址: | 100095 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 指令 验证 方法 装置 存储 介质 | ||
本发明实施例提供一种指令验证方法、装置及存储介质,该方法包括:在指令文件中确定预留指令和第一合法指令,预留指令的第一预设位中的值为空,第一合法指令中的第二预设位中的值为固定值;生成预留指令对应的第一非法指令集合和第一合法指令对应的第二非法指令集合,第一非法指令集合中包括至少一个与预留指令对应的非法指令,第二非法指令集合中包括至少一个与第一合法指令对应的非法指令;通过处理器执行第一非法指令集合和第二非法指令集合中的非法指令,以确定处理器和指令文件的一致性结果。用于提高对指令一致性验证的效率。
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种指令验证方法、装置及存储介质。
背景技术
在研发处理器的同时,通常会配置有对应的指令文件,指令文件中包括了处理器能够执行的所有指令。
为了确保处理器的安全性,需要使得处理器和指令文件具备指令一致性。其中,处理器和指令文件具备指令一致性是指处理器只能执行指令文件中包括的指令,即,当处理器执行指令文件中不包括的指令时,处理器需要报错。在现有技术中,对于定长指令集的处理器,通常会执行所有可能组合的指令,并判断执行不在指令文件中的指令时是否报异常。例如,对于32位指令,首先组合得到232个指令,该232个指令中部分指令为指令文件中包括的指令,部分指令为指令文件中不包括的指令,处理器需要执行组合得到的232个指令,并判断不在指令文件中的执行是否报异常。
然而,在上述过程中,需要对大量的指令进行验证,导致指令一致性验证的效率低下。
发明内容
本发明实施例提供一种指令验证方法、装置及存储介质,提高了指令一致性验证的效率。
第一方面,本发明实施例提供一种指令验证方法,包括:
在指令文件中确定预留指令和第一合法指令,所述预留指令的第一预设位中的值为空,所述第一合法指令中的第二预设位中的值为固定值;
生成所述预留指令对应的第一非法指令集合和所述第一合法指令对应的第二非法指令集合,所述第一非法指令集合中包括至少一个与所述预留指令对应的非法指令,所述第二非法指令集合中包括至少一个与所述第一合法指令对应的非法指令;
通过处理器执行所述第一非法指令集合和所述第二非法指令集合中的非法指令,以确定所述处理器和所述指令文件的一致性结果。
在一种可能的实施方式中,所述生成所述预留指令对应的第一非法指令集合,包括:
根据第一位数,分别将所述第一预设位中的值设置为与所述第一位数对应的第一数值范围中的每一个数值,得到所述第一非法指令集合;所述第一位数为所述第一预设位包含的位数。
在另一种可能的实施方式中,所述生成所述第一合法指令对应的第二非法指令集合,包括:
根据第二位数以及第三位数,分别将所述第二预设位中的值设置为与所述第二位数对应的第二数值范围中除所述固定值之外的每一个数值,并分别将所述第一合法指令中可变位中的值设置为与所述第三位数对应的第三数值范围中的每一个数值,得到所述第二非法指令集合,所述第二位数为所述第二预设位包含的位数,所述第三位数为所述可变位包含的位数。
在另一种可能的实施方式中,所述通过处理器执行所述第一非法指令集合和所述第二非法指令集合中的非法指令,以确定所述处理器和所述指令文件的一致性结果,包括:
通过所述处理器执行所述第一非法指令集合和所述第二非法指令集合中的非法指令,得到所述第一非法指令集合和所述第二非法指令集合中每一个非法指令对应的处理结果;
根据所述处理结果,确定所述处理器和所述指令文件的一致性结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于龙芯中科技术股份有限公司,未经龙芯中科技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810010681.8/2.html,转载请声明来源钻瓜专利网。