处理器指令集的完备性检测方法、装置与电子设备制造方法及图纸

技术编号:23099128 阅读:32 留言:0更新日期:2020-01-14 20:36
本发明专利技术实施例提供一种处理器指令集的完备性检测方法、装置与电子设备,其中该方法包括:获取处理器指令集中所有的指令编码,并基于此分别计算所述处理器指令集的预期指令总条数和理论实际指令总条数;若所述理论实际指令总条数与所述预期指令总条数不相等,则对所有指令编码进行重叠性聚类处理,并通过计算每个类中的重叠指令条数,计算被重复计算的指令总条数;基于所述理论实际指令总条数和所述被重复计算的指令总条数,计算真实实际指令总条数,并判断所述真实实际指令总条数与所述预期指令总条数是否相等,若是,则判定所述处理器指令集是完备的,否则,判定不完备。本发明专利技术实施例能够有效消除计算误差,从而有效提高检测结果的准确性。

【技术实现步骤摘要】
处理器指令集的完备性检测方法、装置与电子设备
本专利技术涉及处理器
,更具体地,涉及一种处理器指令集的完备性检测方法、装置与电子设备。
技术介绍
在处理器指令集的测试过程中,对处理器指令集的完备性进行检测是至关重要的一环,因为如果无法保证待测指令集是完备的,就无法保证指令集测试的覆盖率,而那些测试盲点很可能存在设计缺陷。处理器指令集的完备性描述了该指令集是否包含了所有的指令可能性。以32位定长指令集为例,如果该指令集包含了所有的232条指令,那么称该指令集是完备的,如果该指令集包含了少于232条指令,就称该指令集是不完备的。处理器指令集一般用指令编码进行描述,每条指令编码可以表示多条指令,如32位长的处理器指令集可以用指令编码表示为“111111111111100100000000101xxxxx”,其中“x”符号表示不确定的位,即该位可以是0也可以是1,该指令编码中共有5位不确定,因此该指令编码可以表示25=32条指令。对于如何对处理器指令集的完备性进行检测,一种直观的方法是根据处理器指令集中所有的指令编码来计算指令总条数,如果计算得到的指令总条数等于预期的指令总条数(如对于32位定长指令集来说,预期的指令总条数等于232),则表明该指令集是完备的,否则表明该指令集是不完备的。但是,如果某条指令被多条指令编码所表示,那么该条指令就会被重复计算,如ARM处理器指令集就存在很多被多条指令编码所表示的指令,这将导致计算得到的指令总条数存在误差,影响最终检测结果的准确性。
技术实现思路
<br>为了克服上述问题或者至少部分地解决上述问题,本专利技术实施例提供一种处理器指令集的完备性检测方法、装置与电子设备,用以有效消除计算误差,从而有效提高检测结果的准确性。第一方面,本专利技术实施例提供一种处理器指令集的完备性检测方法,包括:获取处理器指令集中所有的已定义指令编码和未定义指令编码,并基于所述已定义指令编码和所述未定义指令编码,分别计算所述处理器指令集的预期指令总条数和理论实际指令总条数;若所述理论实际指令总条数与所述预期指令总条数不相等,则对所有所述已定义指令编码和所述未定义指令编码进行重叠性聚类处理,并通过计算每个类中的重叠指令条数,计算被重复计算的指令总条数;基于所述理论实际指令总条数和所述被重复计算的指令总条数,计算真实实际指令总条数,并判断所述真实实际指令总条数与所述预期指令总条数是否相等,若是,则判定所述处理器指令集是完备的,否则,判定所述处理器指令集不完备。第二方面,本专利技术实施例提供一种处理器指令集的完备性检测装置,包括:第一计算模块,用于获取处理器指令集中所有的已定义指令编码和未定义指令编码,并基于所述已定义指令编码和所述未定义指令编码,分别计算所述处理器指令集的预期指令总条数和理论实际指令总条数;第二计算模块,用于若所述理论实际指令总条数与所述预期指令总条数不相等,则对所有所述已定义指令编码和所述未定义指令编码进行重叠性聚类处理,并通过计算每个类中的重叠指令条数,计算被重复计算的指令总条数;检测输出模块,用于基于所述理论实际指令总条数和所述被重复计算的指令总条数,计算真实实际指令总条数,并判断所述真实实际指令总条数与所述预期指令总条数是否相等,若是,则判定所述处理器指令集是完备的,否则,判定所述处理器指令集不完备。第三方面,本专利技术实施例提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如上第一方面所述的处理器指令集的完备性检测方法的步骤。第四方面,本专利技术实施例提供一种非暂态计算机可读存储介质,其上存储有计算机指令,所述计算机指令被计算机执行时,实现如上第一方面所述的处理器指令集的完备性检测方法的步骤。本专利技术实施例提供的处理器指令集的完备性检测方法、装置与电子设备,通过对指令集中的所有指令进行聚类处理,并对各类中的重叠指令进行检测和去除,得到指令集的真实实际指令总条数,并进一步基于此对处理器指令集的完备性进行检测,能够有效消除计算误差,从而有效提高检测结果的准确性。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术一实施例提供的处理器指令集的完备性检测方法的流程示意图;图2为根据本专利技术实施例提供的处理器指令集的完备性检测方法中计算理论实际指令总条数的流程示意图;图3为根据本专利技术实施例提供的处理器指令集的完备性检测方法中进行重叠性聚类处理的流程示意图;图4为本专利技术另一实施例提供的处理器指令集的完备性检测方法的流程示意图;图5为本专利技术实施例提供的处理器指令集的完备性检测装置的结构示意图;图6为本专利技术实施例提供的电子设备的实体结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术实施例的一部分实施例,而不是全部的实施例。基于本专利技术实施例中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术实施例保护的范围。本专利技术实施例针对现有技术在处理某条指令被多条指令编码所表示时该条指令会被重复计算而导致检测结果不准确的问题,通过对指令集中的所有指令进行聚类处理,并对各类中的重叠指令进行检测和去除,得到指令集的真实实际指令总条数,并进一步基于此对处理器指令集的完备性进行检测,能够有效消除计算误差,从而有效提高检测结果的准确性。以下将具体通过多个实施例对本专利技术实施例进行展开说明和介绍。图1为本专利技术一实施例提供的处理器指令集的完备性检测方法的流程示意图,如图1所示,该方法包括:S101,获取处理器指令集中所有的已定义指令编码和未定义指令编码,并基于已定义指令编码和未定义指令编码,分别计算处理器指令集的预期指令总条数和理论实际指令总条数。可以理解为,处理器指令编码包括已定义指令编码和未定义指令编码两部分,已定义指令编码是指指令集手册中规定的具有特定功能的指令编码,未定义指令编码是指指令集手册中没有规定特定功能的指令编码,即整个指令编码中除已定义指令编码外的那部分指令编码。本专利技术实施例首先根据指令集手册收集目标处理器指令集中所有的指令编码,包括已定义指令编码和未定义指令编码。再根据所有这些指令编码,计算目标处理器指令集的预期指令总条数和理论实际指令总条数。其中预期指令总条数表示目标处理器指令集应该包含的指令总条数,是一个确定的值,由指令位数或最长指令位数决定,理论实际指令总条数表示对上述收集到的所有的指令编码所包含的指令条数进行求和计算得到的指令总条数。S10本文档来自技高网...

【技术保护点】
1.一种处理器指令集的完备性检测方法,其特征在于,包括:/n获取处理器指令集中所有的已定义指令编码和未定义指令编码,并基于所述已定义指令编码和所述未定义指令编码,分别计算所述处理器指令集的预期指令总条数和理论实际指令总条数;/n若所述理论实际指令总条数与所述预期指令总条数不相等,则对所有所述已定义指令编码和所述未定义指令编码进行重叠性聚类处理,并通过计算每个类中的重叠指令条数,计算被重复计算的指令总条数;/n基于所述理论实际指令总条数和所述被重复计算的指令总条数,计算真实实际指令总条数,并判断所述真实实际指令总条数与所述预期指令总条数是否相等,若是,则判定所述处理器指令集是完备的,否则,判定所述处理器指令集不完备。/n

【技术特征摘要】
1.一种处理器指令集的完备性检测方法,其特征在于,包括:
获取处理器指令集中所有的已定义指令编码和未定义指令编码,并基于所述已定义指令编码和所述未定义指令编码,分别计算所述处理器指令集的预期指令总条数和理论实际指令总条数;
若所述理论实际指令总条数与所述预期指令总条数不相等,则对所有所述已定义指令编码和所述未定义指令编码进行重叠性聚类处理,并通过计算每个类中的重叠指令条数,计算被重复计算的指令总条数;
基于所述理论实际指令总条数和所述被重复计算的指令总条数,计算真实实际指令总条数,并判断所述真实实际指令总条数与所述预期指令总条数是否相等,若是,则判定所述处理器指令集是完备的,否则,判定所述处理器指令集不完备。


2.根据权利要求1所述的处理器指令集的完备性检测方法,其特征在于,计算所述处理器指令集的理论实际指令总条数的步骤具体包括:
通过遍历所有所述已定义指令编码和所述未定义指令编码,依次计算每条指令编码所表示的指令条数,计算的公式为:指令编码所表示的指令条数=2^指令编码中不确定位数;
对所有指令编码所表示的指令条数进行求和运算,获取所述理论实际指令总条数。


3.根据权利要求1或2所述的处理器指令集的完备性检测方法,其特征在于,计算所述处理器指令集的预期指令总条数的步骤具体包括:
根据指令集手册,判断所述处理器指令集是否为定长指令集,若是,则按下式计算所述预期指令总条数:
预期指令总条数=2^指令位数;
否则,按下式计算所述预期指令总条数:
预期指令总条数=2^最长指令位数。


4.根据权利要求1所述的处理器指令集的完备性检测方法,其特征在于,所述对所有所述已定义指令编码和所述未定义指令编码进行重叠性聚类处理的步骤具体包括:
根据所有所述已定义指令编码和所述未定义指令编码,生成指令编码文件,并创建一个类库,所述类库中存放所有的类;
依次从所述指令编码文件中读取任一指令编码,并对所述任一指令编码执行如下操作,直至检测到所述指令编码文件为空,所述如下操作包括:
将所述任一指令编码与所述类库中所有类中的指令编码进行重叠关系判断,若所述任一指令编码与任一类中的指令编码存在重叠关系,则将所述任一指令编码归入所述任一类中,并将所述任一指令编码从所述指令编码文件中删除,否则,新建一个类,并将所述任一指令编码归入新建的类中,并将所述任一指令编码从所述指令编码文件中删除;
其中,将所述任一指令编码与所述类中的指令编码进行重叠关系判断的步骤具体包括:对于任一类,依次计算所述任一类中的每一指令编码与所述任一指令编码的交集,若所述交集均为空,则判定所述任一指令编码与所述任一类中的指令编码间不存在重叠关系,否则判定所述任一指令编码与所述任一类中的指令编码间存在重叠关系。


5.根据权利要求4所述的处理器指令集的完备性检测方法,其特征在于,所述通过计算每个类中的重叠指令条数,计算被重复计算的指令总条数的步骤具体包括:
对于任一类,计算所述任一类中所有指令编码的并集指令总条数,并基于所述并集指令总条数与所述理论实际指令总条数,计算所述任一类中的重叠指令条数;
对所有类中的所述重叠指令条数进行求和运算,获取所述被重复计算的指令总条数。


6.根据权利要求4或5所述的处理器指令集的完备性检测方法,其特征在于,所述计算所述任一类中...

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

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

1