【技术实现步骤摘要】
处理器指令集的完备性检测方法、装置与电子设备
本专利技术涉及处理器
,更具体地,涉及一种处理器指令集的完备性检测方法、装置与电子设备。
技术介绍
在处理器指令集的测试过程中,对处理器指令集的完备性进行检测是至关重要的一环,因为如果无法保证待测指令集是完备的,就无法保证指令集测试的覆盖率,而那些测试盲点很可能存在设计缺陷。处理器指令集的完备性描述了该指令集是否包含了所有的指令可能性。以32位定长指令集为例,如果该指令集包含了所有的232条指令,那么称该指令集是完备的,如果该指令集包含了少于232条指令,就称该指令集是不完备的。处理器指令集一般用指令编码进行描述,每条指令编码可以表示多条指令,如32位长的处理器指令集可以用指令编码表示为“111111111111100100000000101xxxxx”,其中“x”符号表示不确定的位,即该位可以是0也可以是1,该指令编码中共有5位不确定,因此该指令编码可以表示25=32条指令。对于如何对处理器指令集的完备性进行检测,一种直观的方法是根据处理器指令集中所有的指令编码来计算指令总条数,如果计算得到的指令总条数等于预期的指令总条数(如对于32位定长指令集来说,预期的指令总条数等于232),则表明该指令集是完备的,否则表明该指令集是不完备的。但是,如果某条指令被多条指令编码所表示,那么该条指令就会被重复计算,如ARM处理器指令集就存在很多被多条指令编码所表示的指令,这将导致计算得到的指令总条数存在误差,影响最终检测结果的准确性。
技术实现思路
< ...
【技术保护点】
1.一种处理器指令集的完备性检测方法,其特征在于,包括:/n获取处理器指令集中所有的已定义指令编码和未定义指令编码,并基于所述已定义指令编码和所述未定义指令编码,分别计算所述处理器指令集的预期指令总条数和理论实际指令总条数;/n若所述理论实际指令总条数与所述预期指令总条数不相等,则对所有所述已定义指令编码和所述未定义指令编码进行重叠性聚类处理,并通过计算每个类中的重叠指令条数,计算被重复计算的指令总条数;/n基于所述理论实际指令总条数和所述被重复计算的指令总条数,计算真实实际指令总条数,并判断所述真实实际指令总条数与所述预期指令总条数是否相等,若是,则判定所述处理器指令集是完备的,否则,判定所述处理器指令集不完备。/n
【技术特征摘要】
1.一种处理器指令集的完备性检测方法,其特征在于,包括:
获取处理器指令集中所有的已定义指令编码和未定义指令编码,并基于所述已定义指令编码和所述未定义指令编码,分别计算所述处理器指令集的预期指令总条数和理论实际指令总条数;
若所述理论实际指令总条数与所述预期指令总条数不相等,则对所有所述已定义指令编码和所述未定义指令编码进行重叠性聚类处理,并通过计算每个类中的重叠指令条数,计算被重复计算的指令总条数;
基于所述理论实际指令总条数和所述被重复计算的指令总条数,计算真实实际指令总条数,并判断所述真实实际指令总条数与所述预期指令总条数是否相等,若是,则判定所述处理器指令集是完备的,否则,判定所述处理器指令集不完备。
2.根据权利要求1所述的处理器指令集的完备性检测方法,其特征在于,计算所述处理器指令集的理论实际指令总条数的步骤具体包括:
通过遍历所有所述已定义指令编码和所述未定义指令编码,依次计算每条指令编码所表示的指令条数,计算的公式为:指令编码所表示的指令条数=2^指令编码中不确定位数;
对所有指令编码所表示的指令条数进行求和运算,获取所述理论实际指令总条数。
3.根据权利要求1或2所述的处理器指令集的完备性检测方法,其特征在于,计算所述处理器指令集的预期指令总条数的步骤具体包括:
根据指令集手册,判断所述处理器指令集是否为定长指令集,若是,则按下式计算所述预期指令总条数:
预期指令总条数=2^指令位数;
否则,按下式计算所述预期指令总条数:
预期指令总条数=2^最长指令位数。
4.根据权利要求1所述的处理器指令集的完备性检测方法,其特征在于,所述对所有所述已定义指令编码和所述未定义指令编码进行重叠性聚类处理的步骤具体包括:
根据所有所述已定义指令编码和所述未定义指令编码,生成指令编码文件,并创建一个类库,所述类库中存放所有的类;
依次从所述指令编码文件中读取任一指令编码,并对所述任一指令编码执行如下操作,直至检测到所述指令编码文件为空,所述如下操作包括:
将所述任一指令编码与所述类库中所有类中的指令编码进行重叠关系判断,若所述任一指令编码与任一类中的指令编码存在重叠关系,则将所述任一指令编码归入所述任一类中,并将所述任一指令编码从所述指令编码文件中删除,否则,新建一个类,并将所述任一指令编码归入新建的类中,并将所述任一指令编码从所述指令编码文件中删除;
其中,将所述任一指令编码与所述类中的指令编码进行重叠关系判断的步骤具体包括:对于任一类,依次计算所述任一类中的每一指令编码与所述任一指令编码的交集,若所述交集均为空,则判定所述任一指令编码与所述任一类中的指令编码间不存在重叠关系,否则判定所述任一指令编码与所述任一类中的指令编码间存在重叠关系。
5.根据权利要求4所述的处理器指令集的完备性检测方法,其特征在于,所述通过计算每个类中的重叠指令条数,计算被重复计算的指令总条数的步骤具体包括:
对于任一类,计算所述任一类中所有指令编码的并集指令总条数,并基于所述并集指令总条数与所述理论实际指令总条数,计算所述任一类中的重叠指令条数;
对所有类中的所述重叠指令条数进行求和运算,获取所述被重复计算的指令总条数。
6.根据权利要求4或5所述的处理器指令集的完备性检测方法,其特征在于,所述计算所述任一类中...
【专利技术属性】
技术研发人员:孟丹,李丹萍,朱子元,史岗,
申请(专利权)人:中国科学院信息工程研究所,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。