一种用于流水线指令相关性的分析方法技术

技术编号:10185556 阅读:284 留言:0更新日期:2014-07-04 16:29
本发明专利技术公开了一种用于流水线指令相关性的分析方法,提出了一种从用户使用的角度分析最小化指令序列的验证方法,通过对LEON指令相关性分析,需要验证至少三级指令相关才能满足相关性验证需求。考虑到保护用户编写的功能程序代码,该方法使用的输入文件为用户编译后生成32位机器码,通过分析得到用户使用的指令序列,并且分析指令序列的相关性,得到使用过的和多次使用的指令序列分析结果,指导指令相关性验证,保证指令验证工作有效满足用户的使用需求。

【技术实现步骤摘要】
【专利摘要】本专利技术公开了,提出了一种从用户使用的角度分析最小化指令序列的验证方法,通过对LEON指令相关性分析,需要验证至少三级指令相关才能满足相关性验证需求。考虑到保护用户编写的功能程序代码,该方法使用的输入文件为用户编译后生成32位机器码,通过分析得到用户使用的指令序列,并且分析指令序列的相关性,得到使用过的和多次使用的指令序列分析结果,指导指令相关性验证,保证指令验证工作有效满足用户的使用需求。【专利说明】
本专利技术涉及处理器指令验证
,涉及。
技术介绍
LEON处理器是一款开源微处理器软核,包含整数硬件乘法和除法单元,双协处理器(FPU浮点处理单元和协处理器),分离的指令和数据总线。该构架包括了输入输出I/O口,存储器管理单元,cache子构架系统(MMU)以及超级权限软件,存储器模型等;该软核具有非常良好的可配置性和可移植性,在VHDl源代码基础上,结合具体需求加入定制的运算单元和外设接口便可以建立国产的SOC系统。该处理器包含172条常用指令,40?520个寄存器,指令集非常复杂因此需要大规模的指令验证才能保证LEON处理器功能的正确性。LEON处理器采用5级流水线结构设计,将指令执行分为取值(FE)、译码(DE)JAR(EX)、存储器访问(ME)、写回(WR)五个功能阶段,指令执行时可能发生流水线冲突,因此验证工作中需要对流水线指令的相关性进行验证。SPARC V8指令相关性和寄存器的相关情况非常复杂,假设一条指令可以使用10种寄存器组合,在五级流水线中可能发生相关的情况有(172*10)5,加上每条指令的不同格式,可能出现的指令序列情况更多,依靠目前验证条件通过遍历所有指令序列的验证方法是无法完成的,因此不能保证验证的全面性和有效性。
技术实现思路
本专利技术解决的问题在于提供,通过大规模分析用户可能使用到的程序,得到使用过的和使用最多的指令序列,并且对这些指令序列的相关性进行分析,进而指导指令验证工作。本专利技术是通过以下技术方案来实现:1、,其特征在于,包括以下操作:I)对待处理的分析对象,通过编译器将其译成为32位的机器码文件,作为分析使用的输入文件;2)根据编译器的指令编码格式得到指令格式和寄存器编码;根据指令格式编码中的构成,确定其采用的指令编码和寄存器编码;并对类型相同的指令编码命名为特定值,再将特定值按照指令顺序排列;3)选定所指定的η级相关性分析,从第一条指令开始,将其后η-l个指令相关联,统计关联后的特定值序列;然后分析该特定值序列所对应的指令及寄存器的关联情况;4)统计发生二级指令相关的指令序列和该序列出现的次数,以及指令相关出现的数量和寄存器相关类型;将指令特定值序列、寄存器特定值序列进行归一化处理,得到所有指令中相同指令特定值序列、相同寄存器特定值序列所出现的概率,得到二级指令相关结果;5)统计发生三级指令相关的指令序列和该序列出现的次数,以及指令相关出现的数量和寄存器相关类型;将指令特定值序列、寄存器特定值序列进行归一化处理,得到所有指令中相同指令特定值序列、相同寄存器特定值序列所出现的概率,得到三级指令相关结果;6)将二级指令相关结果、三级指令相关结果汇总,输出流水线相关性分析结果。2、如权利要求1所述的用于流水线指令相关性的分析方法,其特征在于,所述通过SPARC V8编译器译成为32位的机器码文件,然后根据SPARC V8指令编码格式得到指令格式和寄存器编码格式。3、如权利要求1所述的用于流水线指令相关性的分析方法,其特征在于,所述的分析该特定值序列所对应的指令及寄存器的关联情况,是通过第一条指令所对应的寄存器与后续η-1、η-2条指令所对应的寄存器的相关性,得到寄存器相关性序列,并将其命名为寄存器特定值。4、如权利要求1所述的用于流水线指令相关性的分析方法,其特征在于,所述的二级指令相关性为联系两条指令的相关性的分析,并与其相关的特定值序列进行关联;所述的三级指令相关性为联系三条指令的相关性的分析,并与其相关的特定值序列进行关联。与现有技术相比,本专利技术具有以下有益的技术效果:本专利技术针对流水线指令相关性验证工作量大,验证不完全等问题提出的。提出了一种从用户使用的角度分析,得出满足使用需求的验证方法,用于分析最小化指令序列,通过对LEON指令相关性分析,需要验证至少三级指令相关才能满足相关性验证需求。考虑到保护用户编写的功能程序代码,该方法使用的分析文件为用户编译后生成32位机器码,通过分析得到用户使用的相关指令序列,并且分析指令序列的相关性,得到使用的和多次使用的指令序列分析结果,指导指令相关性验证,保证指令验证工作有效满足用户的使用需求。通过对用户使用的功能程序文件进行分析,得到指令相关性分析结果,可以解决指令验证工作中无法保证指令相关性验证的全面性和有效性问题,保证验证工作覆盖到所有可能使用的指令序列,减少指令验证工作量,提高验证工作效率。通过本专利技术可以得到所有指令序列组合以及指令组合出现的次数,指令组合的相关性。可大大减少验证的工作量。从而进行有针对性的验证。通过对某型号Ieon处理器系统验证中使用的全部功能程序进行分析(共18408行),分析结果显示两条指令连续出现的序列有108种情况,三条指令连续出现的序列有253种情况,远小于理论计算的数量。【专利附图】【附图说明】图1为本专利技术的流程示意图;图2为指令性相关分析的示意图。【具体实施方式】下面结合具体的实施例对本专利技术做进一步的详细说明,所述是对本专利技术的解释而不是限定。本专利技术提出了,该方法是一种从用户使用的角度分析最小化指令序列的验证方法,通过对LEON指令相关性分析,需要验证至少三级指令相关才能满足相关性验证需求。考虑到保护用户编写的功能程序代码,该方法使用的输入文件为用户编译后生成32位机器码,通过分析得到用户使用的指令序列,并且分析指令序列的相关性,得到使用过的和多次使用的指令序列分析结果,指导指令相关性验证,保证指令验证工作有效满足用户的使用需求。—种用于流水线指令相关性的分析方法,包括以下操作:I)对待处理的分析对象,通过编译器将其译成为32位的机器码文件,作为分析使用的输入文件;2)根据编译器的指令编码格式得到指令格式和寄存器编码;根据指令格式编码中的构成,确定其采用的指令编码和寄存器编码;并对类型相同的指令编码命名为特定值,再将特定值按照指令顺序排列;3)选定所指定的η级相关性分析,从第一条指令开始,将其后η-l个指令相关联,统计关联后的特定值序列;然后分析该特定值序列所对应的指令及寄存器的关联情况;4)统计发生二级指令相关的指令序列和该序列出现的次数,以及指令相关出现的数量和寄存器相关类型;将指令特定值序列、寄存器特定值序列进行归一化处理,得到所有指令中相同指令特定值序列、相同寄存器特定值序列所出现的概率,得到二级指令相关结果;5)统计发生三级指令相关的指令序列和该序列出现的次数,以及指令相关出现的数量和寄存器相关类型;将指令特定值序列、寄存器特定值序列进行归一化处理,得到所有指令中相同指令特定值序列、相同寄存器特定值序列所出现的概率,得到三级指令相关结果;6)将二级指令相关结果、三级指令相关结果汇总,得到指令相关性结果,输出流水线相关性分析结果。下面结合具体本文档来自技高网
...

【技术保护点】
一种用于流水线指令相关性的分析方法,其特征在于,包括以下操作:1)对待处理的分析对象,通过编译器将其译成为32位的机器码文件,作为分析使用的输入文件;2)根据编译器的指令编码格式得到指令格式和寄存器编码;根据指令格式编码中的构成,确定其采用的指令编码和寄存器编码;并对类型相同的指令编码命名为特定值,再将特定值按照指令顺序排列;3)选定所指定的n级相关性分析,从第一条指令开始,将其后n‑1个指令相关联,统计关联后的特定值序列;然后分析该特定值序列所对应的指令及寄存器的关联情况;4)统计发生二级指令相关的指令序列和该序列出现的次数,以及指令相关出现的数量和寄存器相关类型;将指令特定值序列、寄存器特定值序列进行归一化处理,得到所有指令中相同指令特定值序列、相同寄存器特定值序列所出现的概率,得到二级指令相关结果;5)统计发生三级指令相关的指令序列和该序列出现的次数,以及指令相关出现的数量和寄存器相关类型;将指令特定值序列、寄存器特定值序列进行归一化处理,得到所有指令中相同指令特定值序列、相同寄存器特定值序列所出现的概率,得到三级指令相关结果;6)将二级指令相关结果、三级指令相关结果汇总,输出流水线相关性分析结果。...

【技术特征摘要】

【专利技术属性】
技术研发人员:张雪郝奎张辉
申请(专利权)人:中国航天科技集团公司第九研究院第七七一研究所
类型:发明
国别省市:陕西;61

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

1