[发明专利]一种用于流水线指令相关性的分析方法有效
申请号: | 201410131434.5 | 申请日: | 2014-03-28 |
公开(公告)号: | CN103902252A | 公开(公告)日: | 2014-07-02 |
发明(设计)人: | 张雪;郝奎;张辉 | 申请(专利权)人: | 中国航天科技集团公司第九研究院第七七一研究所 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 西安通大专利代理有限责任公司 61200 | 代理人: | 徐文权 |
地址: | 710068 *** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 流水线 指令 相关性 分析 方法 | ||
技术领域
本发明涉及处理器指令验证技术领域,涉及一种用于流水线指令相关性的分析方法。
背景技术
LEON处理器是一款开源微处理器软核,包含整数硬件乘法和除法单元,双协处理器(FPU浮点处理单元和协处理器),分离的指令和数据总线。该构架包括了输入输出I/O口,存储器管理单元,cache子构架系统(MMU)以及超级权限软件,存储器模型等;该软核具有非常良好的可配置性和可移植性,在VHDl源代码基础上,结合具体需求加入定制的运算单元和外设接口便可以建立国产的SOC系统。该处理器包含172条常用指令,40~520个寄存器,指令集非常复杂因此需要大规模的指令验证才能保证LEON处理器功能的正确性。
LEON处理器采用5级流水线结构设计,将指令执行分为取值(FE)、译码(DE)、执行(EX)、存储器访问(ME)、写回(WR)五个功能阶段,指令执行时可能发生流水线冲突,因此验证工作中需要对流水线指令的相关性进行验证。SPARC V8指令相关性和寄存器的相关情况非常复杂,假设一条指令可以使用10种寄存器组合,在五级流水线中可能发生相关的情况有(172*10)5,加上每条指令的不同格式,可能出现的指令序列情况更多,依靠目前验证条件通过遍历所有指令序列的验证方法是无法完成的,因此不能保证验证的全面性和有效性。
发明内容
本发明解决的问题在于提供一种用于流水线指令相关性的分析方法,通过大规模分析用户可能使用到的程序,得到使用过的和使用最多的指令序列,并且对这些指令序列的相关性进行分析,进而指导指令验证工作。
本发明是通过以下技术方案来实现:
1、一种用于流水线指令相关性的分析方法,其特征在于,包括以下操作:
1)对待处理的分析对象,通过编译器将其译成为32位的机器码文件,作为分析使用的输入文件;
2)根据编译器的指令编码格式得到指令格式和寄存器编码;根据指令格式编码中的构成,确定其采用的指令编码和寄存器编码;并对类型相同的指令编码命名为特定值,再将特定值按照指令顺序排列;
3)选定所指定的n级相关性分析,从第一条指令开始,将其后n-1个指令相关联,统计关联后的特定值序列;然后分析该特定值序列所对应的指令及寄存器的关联情况;
4)统计发生二级指令相关的指令序列和该序列出现的次数,以及指令相关出现的数量和寄存器相关类型;
将指令特定值序列、寄存器特定值序列进行归一化处理,得到所有指令中相同指令特定值序列、相同寄存器特定值序列所出现的概率,得到二级指令相关结果;
5)统计发生三级指令相关的指令序列和该序列出现的次数,以及指令相关出现的数量和寄存器相关类型;
将指令特定值序列、寄存器特定值序列进行归一化处理,得到所有指令中相同指令特定值序列、相同寄存器特定值序列所出现的概率,得到三级指令相关结果;
6)将二级指令相关结果、三级指令相关结果汇总,输出流水线相关性分析结果。
2、如权利要求1所述的用于流水线指令相关性的分析方法,其特征在于,所述通过SPARC V8编译器译成为32位的机器码文件,然后根据SPARC V8指令编码格式得到指令格式和寄存器编码格式。
3、如权利要求1所述的用于流水线指令相关性的分析方法,其特征在于,所述的分析该特定值序列所对应的指令及寄存器的关联情况,是通过第一条指令所对应的寄存器与后续n-1、n-2条指令所对应的寄存器的相关性,得到寄存器相关性序列,并将其命名为寄存器特定值。
4、如权利要求1所述的用于流水线指令相关性的分析方法,其特征在于,所述的二级指令相关性为联系两条指令的相关性的分析,并与其相关的特定值序列进行关联;
所述的三级指令相关性为联系三条指令的相关性的分析,并与其相关的特定值序列进行关联。
与现有技术相比,本发明具有以下有益的技术效果:
本发明针对流水线指令相关性验证工作量大,验证不完全等问题提出的。提出了一种从用户使用的角度分析,得出满足使用需求的验证方法,用于分析最小化指令序列,通过对LEON指令相关性分析,需要验证至少三级指令相关才能满足相关性验证需求。考虑到保护用户编写的功能程序代码,该方法使用的分析文件为用户编译后生成32位机器码,通过分析得到用户使用的相关指令序列,并且分析指令序列的相关性,得到使用的和多次使用的指令序列分析结果,指导指令相关性验证,保证指令验证工作有效满足用户的使用需求。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国航天科技集团公司第九研究院第七七一研究所,未经中国航天科技集团公司第九研究院第七七一研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410131434.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种计算机键盘无线监控器
- 下一篇:用于引导的装置和方法