一种指令解码模块及其生成方法、装置、芯片架构模拟器制造方法及图纸

技术编号:37709379 阅读:12 留言:0更新日期:2023-06-02 00:00
本说明书公开了一种指令解码模块及其生成方法、装置、芯片架构模拟器,其中,所述指令解码模块的生成方法提供了一种利用计算设备,基于二级译码表生成指令解码模块的方法,降低了微架构硬件的开发过程中所需投入的人力,降低了开发资源的消耗,提高了微架构硬件的开发效率。具体地,所述指令解码模块的生成方法首先在指令特征集中确定了指令编码中各代码位置对应的分组特征码,然后根据所述分组特征码对二级译码表中的指令编码进行分组,以获得编码搜索树,最后根据该编码搜索树,即可生成指令解码模块,整个生成过程步骤简单,有利于提升指令解码模块的生成效率。升指令解码模块的生成效率。升指令解码模块的生成效率。

【技术实现步骤摘要】
一种指令解码模块及其生成方法、装置、芯片架构模拟器


[0001]本说明书涉及半导体
,具体地说,涉及半导体
下的面向计算机体系结构的软件仿真模拟技术,更具体地说,涉及一种指令解码模块及其生成方法、装置、芯片架构模拟器。

技术介绍

[0002]计算机系统架构模拟器包括系统级架构模拟器以及处理器微架构模拟器,处理器微架构模拟器是用于辅助微架构硬件设计、验证、优化的软件工具。
[0003]在利用处理器微架构模拟器进行微架构硬件的设计、优化过程中经常会遇到需要对指令进行扩展的情况,这就需要设计人员根据硬件迭代对处理器微架构模拟器进行大幅度修改,消耗大量的开发资源。

技术实现思路

[0004]为解决上述技术问题,本说明书提供了一种指令解码模块及其生成方法、装置、芯片架构模拟器,以实现利用计算设备自动生成指令解码模块的目的,降低微架构硬件开发过程中所需投入的人力,降低开发资源的消耗。
[0005]为实现上述技术目的,本说明书实施例提供了如下技术方案:
[0006]第一方面,本说明书实施例提供了一种指令解码模块的生成方法,应用于计算设备,所述指令解码模块的生成方法包括:
[0007]获取二级译码表,所述二级译码表包括指令编码与指令编码携带信息的对应关系;
[0008]在指令特征集中,确定与所述指令编码中各代码位置对应的分组特征码,所述分组特征码用于描述所述指令编码中,与所述分组特征码对应的代码位置的代码取值特征;所述指令特征集包括多个所述分组特征码;
[0009]根据所述分组特征码对所述二级译码表中的指令编码进行分组,以获得编码搜索树,在所述编码搜索树中,所述分组特征码与所述编码搜索树的非叶子节点对应,所述编码搜索树的叶子节点包括至少一个所述指令编码;
[0010]根据所述编码搜索树,生成所述指令解码模块。
[0011]在一些实施方式中,所述指令特征集包括多组备选特征码,每组备选特征码包括多个备选特征码,每组备选特征码中的任一所述备选特征码与所述指令编码中的多位代码位置对应;
[0012]所述备选特征码用于描述与所述备选特征码对应的多位代码位置的代码取值特征,所述分组特征码从每组备选特征码中的多个备选特征码中确定。
[0013]在一些实施方式中,所述在指令特征集中,确定与所述指令编码中各代码位置对应的分组特征码包括:
[0014]在每组所述备选特征码中,将分组差异度最小的备选特征码确定为所述编码搜索
树的非叶子节点对应的分组特征码,所述分组差异度表征按照所述备选特征码分组后获得的两个节点中的指令编码数量差和相同指令编码的数量。
[0015]在一些实施方式中,所述分组差异度等于按照所述备选特征码分组后获得的两个节点中的指令编码数量差和相同指令编码的数量的加权和。
[0016]在一些实施方式中,在所述分组差异度中,第一权重大于第二权重,所述第一权重为按照所述备选特征码分组后获得的两个节点中相同指令编码的数量的权重,所述第二权重为按照所述备选特征码分组后获得的两个节点中的指令编码数量差的权重。
[0017]在一些实施方式中,所述指令编码为N位指令编码,所述备选特征码与所述指令编码中连续的M位代码位置对应,N和M均为大于1的整数,且N大于M。
[0018]在一些实施方式中,N能被M整除。
[0019]在一些实施方式中,所述根据所述编码搜索树,生成所述指令解码模块包括:
[0020]按照所述编码搜索树的各节点的层级顺序,将所述编码搜索树的各节点编译为函数,以获得所述指令解码模块。
[0021]在一些实施方式中,所述按照所述编码搜索树的各节点的层级顺序,将所述编码搜索树的各节点编译为函数,以获得所述指令解码模块包括:
[0022]按照所述编码搜索树的各节点的层级顺序,将所述编码搜索树的非叶子节点编译为判断函数,将所述编码搜索树的叶子节点编译为返回函数,以获得所述指令解码模块;
[0023]所述判断函数,用于以所述非叶子节点中的指令编码是否与所述非叶子节点对应的分组特征码匹配为依据,将所述非叶子节点中的指令编码分别放入下一层级的两个节点中;
[0024]所述返回函数,用于返回所述叶子节点中与所述指令编码对应的指令编码携带信息。
[0025]第二方面,本说明书实施例提供了一种指令解码模块,包括:按照编码搜索树确定的多个函数,所述函数与所述编码搜索树的节点一一对应,所述多个函数的调用关系按照编码搜索树的节点顺序确定;
[0026]所述编码搜索树根据分组特征码对二级译码表中的指令编码进行分组获得,所述分组特征码用于描述所述指令编码中,与所述分组特征码对应的代码位置的代码取值特征,所述二级译码表包括指令编码与指令编码携带信息的对应关系。
[0027]第三方面,本说明书实施例提供了一种芯片架构模拟器,包括如上述的指令解码模块。
[0028]第四方面,本说明书实施例提供了一种指令解码模块的生成装置,应用于计算设备,所述指令解码模块的生成装置包括:
[0029]获取模块,用于获取二级译码表,所述二级译码表包括指令编码与指令编码携带信息的对应关系;
[0030]特征模块,用于在指令特征集中,确定与所述指令编码中各代码位置对应的分组特征码,所述分组特征码用于描述所述指令编码中,与所述分组特征码对应的代码位置的代码取值特征;所述指令特征集包括多个所述分组特征码;
[0031]分组模块,用于根据所述分组特征码对所述二级译码表中的指令编码进行分组,以获得编码搜索树,在所述编码搜索树中,所述分组特征码与所述编码搜索树的非叶子节
点对应,所述编码搜索树的叶子节点包括至少一个所述指令编码;
[0032]生成模块,用于根据所述编码搜索树,生成所述指令解码模块。
[0033]第五方面,本说明书实施例提供了一种电子设备,包括:处理器和存储器;
[0034]其中,所述存储器与所述处理器连接,所述存储器用于存储计算机程序;
[0035]所述处理器,用于通过运行所述存储器中存储的计算机程序,实现如上述的指令解码模块的生成方法。
[0036]第六方面,本说明书实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时,实现如上述的指令解码模块的生成方法。
[0037]第七方面,本说明书实施例提供了一种计算机程序产品或计算机程序,所述计算机程序产品包括计算机程序,所述计算机程序存储在计算机可读存储介质中;所述计算机设备的处理器从所述计算机可读存储介质读取所述计算机程序,所述处理器执行所述计算机程序时实现上述的指令解码模块的生成方法的步骤。
[0038]从上述技术方案可以看出,本说明书实施例提供了一种指令解码模块及其生成方法、装置、芯片架构模拟器,其中,所述指令解码模块的生成方法提供了一种利用计算设备,基于二级译码表生成指令解码模块的方法,降低了微架构硬件的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种指令解码模块的生成方法,其特征在于,应用于计算设备,所述指令解码模块的生成方法包括:获取二级译码表,所述二级译码表包括指令编码与指令编码携带信息的对应关系;在指令特征集中,确定与所述指令编码中各代码位置对应的分组特征码,所述分组特征码用于描述所述指令编码中,与所述分组特征码对应的代码位置的代码取值特征;所述指令特征集包括多个所述分组特征码;根据所述分组特征码对所述二级译码表中的指令编码进行分组,以获得编码搜索树,在所述编码搜索树中,所述分组特征码与所述编码搜索树的非叶子节点对应,所述编码搜索树的叶子节点包括至少一个所述指令编码;根据所述编码搜索树,生成所述指令解码模块。2.根据权利要求1所述的方法,其特征在于,所述指令特征集包括多组备选特征码,每组备选特征码包括多个备选特征码,每组备选特征码中的任一所述备选特征码与所述指令编码中的多位代码位置对应;所述备选特征码用于描述与所述备选特征码对应的多位代码位置的代码取值特征,所述分组特征码从每组备选特征码中的多个备选特征码中确定。3.根据权利要求2所述的方法,其特征在于,所述在指令特征集中,确定与所述指令编码中各代码位置对应的分组特征码包括:在每组所述备选特征码中,将分组差异度最小的备选特征码确定为所述编码搜索树的非叶子节点对应的分组特征码,所述分组差异度表征按照所述备选特征码分组后获得的两个节点中的指令编码数量差和相同指令编码的数量。4.根据权利要求3所述的方法,其特征在于,所述分组差异度等于按照所述备选特征码分组后获得的两个节点中的指令编码数量差和相同指令编码的数量的加权和。5.根据权利要求4所述的方法,其特征在于,在所述分组差异度中,第一权重大于第二权重,所述第一权重为按照所述备选特征码分组后获得的两个节点中相同指令编码的数量的权重,所述第二权重为按照所述备选特征码分组后获得的两个节点中的指令编码数量差的权重。6.根据权利要求2所述的方法,其特征在于,所述指令编码为N位指令编码,所述备选特征码与所述指令编码中连续的M位代码位置对应,N和M均为大于1的整数,且N大于M。7.根据权利要求6所述的方法,其特征在于,N能被M整除。8.根据权利要求1~7任一项所述的方法,其特征在于,所述根据所述编码搜索树,生成所述指令解码模块包括:按照所述编码搜索树的各节点的层级顺序,将所述编码搜索树的各节点编译为函数,以获得所述指令解码模块。9.根据权利要求8所述的方法,其特征在于,...

【专利技术属性】
技术研发人员:丁帅徐霞丽李根唐遇星余志拥庄源
申请(专利权)人:飞腾信息技术有限公司
类型:发明
国别省市:

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

1