伪指令编译方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:29098639 阅读:8 留言:0更新日期:2021-06-30 10:09
本发明专利技术实施例公开了伪指令编译方法、装置、计算机设备及存储介质。所述方法包括:对伪指令进行解析,以得到指令关键词以及用户参数;解析预先设定的伪指令配置文件,以得到伪指令对象列表;根据所述指令关键词在所述伪指令对象列表内进行伪指令对象的匹配,以得到伪指令对象;遍历所述伪指令对象内的组成的FPGA指令对象的列表,以得到FPGA指令对象;对所述FPGA指令对象采用预先设定的FPGA指令配置文件确定对应的详细信息;根据所述详细信息结合所述用户参数进行编译,以得到编译结果。通过实施本发明专利技术实施例的方法可实现提高指令在常规升级需求中的可维护性,避免修改代码和配置文件,易于扩展。易于扩展。易于扩展。

【技术实现步骤摘要】
伪指令编译方法、装置、计算机设备及存储介质


[0001]本专利技术涉及Pattern编译方法,更具体地说是指伪指令编译方法、装置、计算机设备及存储介质。

技术介绍

[0002]编程语言通常需要转换为汇编指令最终通过编译成二进制数据流,在机器上运行;从软件开发角度而言,其实伪指令也是一种编程语言,在编译框架上,可以使用现在成熟的编译原理来对伪指令编译,但伪指令在使用中是不断完善变化的,它的可维护性则要求极高,故而通常需要对伪指令的实现进行可配置化,这样既能应对千变的市场需求,也可以减少软件开发维护成本。
[0003]现有对Pattern编译的方案中,将伪指令按照组成形式分类,每一类使用一个函数封装完成,用特殊标记符号标记每个函数;因此在配置中体现为每个指令的关键字对应特定的特殊符号,对应指令固定的数据,解析指令时,从配置文件中得到特殊标记符号,并调用其函数,将其对应的固定数据和用户参数数据作为参数传入函数,进而得到二进制数据;比如:伪指令1:REPEAT Imm,循环本周期次数为IMM;伪指令2:JUMP Imm,跳转到行数为IMM的位置;伪指令3:REPEAT RD,循环本周期次数为RD寄存器里的值;上面三种指令由组成分类,可以分为两类,其中伪指令1和伪指令2为一类,组成结构为Command ParamIMM;伪指令3的组成结构为Command ParamRegister;因此共有两个标记符号产生,即对应两个函数实现,配置信息为:伪指令数组列表:[伪指令关键字,参数类型,函数标记符号,伪指令对应的固定二进制数据];当前情况下,如需增加伪指令,只需增加ParserMethod解析方式即特殊标记符号以及其对应的固定数据组成即可。但是现有的技术方案在新增指令时,指令格式需要受限于之前的指令组成格式,如果不在其组成格式里,则应该在修改代码;FPGA指令修改即关键字对应的固定数据发生修改时,需要多处修改;伪指令如果对应多个FPGA指令,则只能增加不同的函数实现完成,不易扩展;配置文件随着升级会经常改动,误改指定的固定数据也不易发现。
[0004]因此,有必要设计一种新的方法,实现提高指令在常规升级需求中的可维护性,避免修改代码和配置文件,易于扩展。

技术实现思路

[0005]本专利技术的目的在于克服现有技术的缺陷,提供伪指令编译方法、装置、计算机设备及存储介质。
[0006]为实现上述目的,本专利技术采用以下技术方案:伪指令编译方法,包括:
[0007]对伪指令进行解析,以得到指令关键词以及用户参数;
[0008]解析预先设定的伪指令配置文件,以得到伪指令对象列表;
[0009]根据所述指令关键词在所述伪指令对象列表内进行伪指令对象的匹配,以得到伪指令对象;
[0010]遍历所述伪指令对象内的组成的FPGA指令对象的列表,以得到FPGA指令对象;
[0011]对所述FPGA指令对象采用预先设定的FPGA指令配置文件确定对应的详细信息;
[0012]根据所述详细信息结合所述用户参数进行编译,以得到编译结果。
[0013]其进一步技术方案为:所述伪指令配置文件包括伪指令关键字、参数类型、组成的FPGA指令对象的列表以及FPGA指令参数。
[0014]其进一步技术方案为:所述FPGA指令配置文件包括FPGA指令名称、指令对应的二进制数据、参数数据以及指令对应的二进制数据组成公式。
[0015]其进一步技术方案为:所述详细信息包括指令对应的二进制数据、参数数据以及指令对应的二进制数据组成公式。
[0016]其进一步技术方案为:所述解析预先设定的伪指令配置文件,以得到伪指令对象列表,包括:
[0017]采用JSON解析技术解析预先设定的伪指令配置文件以得到伪指令对象列表。
[0018]其进一步技术方案为:所述根据所述详细信息结合所述用户参数进行编译,以得到编译结果,包括:
[0019]将指令对应的二进制数据组成公式反射成函数中的内存对象;
[0020]将所述用户参数以及指令对应的二进制数据作为函数的输入,结合函数中的内存对象,输出编译结果。
[0021]其进一步技术方案为:所述对伪指令进行解析,以得到指令关键词以及用户参数之前,还包括:
[0022]设置伪指令配置文件以及FPGA指令配置文件,以得到预先设定的伪指令配置文件以及预先设定的FPGA指令配置文件。
[0023]本专利技术还提供了伪指令编译装置,包括:
[0024]指令解析单元,用于对伪指令进行解析,以得到指令关键词以及用户参数;
[0025]文件解析单元,用于解析预先设定的伪指令配置文件,以得到伪指令对象列表;
[0026]匹配单元,用于根据所述指令关键词在所述伪指令对象列表内进行伪指令对象的匹配,以得到伪指令对象;
[0027]遍历单元,用于遍历所述伪指令对象内的组成的FPGA指令对象的列表,以得到FPGA指令对象;
[0028]信息确定单元,用于对所述FPGA指令对象采用预先设定的FPGA指令配置文件确定对应的详细信息;
[0029]编译单元,用于根据所述详细信息结合所述用户参数进行编译,以得到编译结果。
[0030]本专利技术还提供了一种计算机设备,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述的方法。
[0031]本专利技术还提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现上述的方法。
[0032]本专利技术与现有技术相比的有益效果是:本专利技术通过采用独立的伪指令配置文件和FPGA指令配置文件管理伪指令的配置和FPGA指令的配置,当需要对伪指令进行更新时,仅需要对其进行解析和对伪指令配置文件进行更新,解析伪指令配置文件后利用解析伪指令所得的指令关键词进行匹配,得到FPGA指令对象,再采用FPGA指令配置文件确定对应的详
细信息,从而进行编译,若是对FPGA指令进行维护时,仅需更改FPGA指令配置文件即可,实现提高指令在常规升级需求中的可维护性,避免修改代码和配置文件,易于扩展。
[0033]下面结合附图和具体实施例对本专利技术作进一步描述。
附图说明
[0034]为了更清楚地说明本专利技术实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0035]图1为本专利技术实施例提供的伪指令编译方法的流程示意图;
[0036]图2为本专利技术实施例提供的伪指令编译方法的子流程示意图;
[0037]图3为本专利技术另一实施例提供的伪指令编译方法的流程示意图;
[0038]图4为本专利技术实施例提供的伪指令编译装置的示意性框图;
[0039]图5为本专利技术实施例提供的伪指令编译装置的编译单元的示意性框图;<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.伪指令编译方法,其特征在于,包括:对伪指令进行解析,以得到指令关键词以及用户参数;解析预先设定的伪指令配置文件,以得到伪指令对象列表;根据所述指令关键词在所述伪指令对象列表内进行伪指令对象的匹配,以得到伪指令对象;遍历所述伪指令对象内的组成的FPGA指令对象的列表,以得到FPGA指令对象;对所述FPGA指令对象采用预先设定的FPGA指令配置文件确定对应的详细信息;根据所述详细信息结合所述用户参数进行编译,以得到编译结果。2.根据权利要求1所述的伪指令编译方法,其特征在于,所述伪指令配置文件包括伪指令关键字、参数类型、组成的FPGA指令对象的列表以及FPGA指令参数。3.根据权利要求1所述的伪指令编译方法,其特征在于,所述FPGA指令配置文件包括FPGA指令名称、指令对应的二进制数据、参数数据以及指令对应的二进制数据组成公式。4.根据权利要求3所述的伪指令编译方法,其特征在于,所述详细信息包括指令对应的二进制数据、参数数据以及指令对应的二进制数据组成公式。5.根据权利要求1所述的伪指令编译方法,其特征在于,所述解析预先设定的伪指令配置文件,以得到伪指令对象列表,包括:采用JSON解析技术解析预先设定的伪指令配置文件以得到伪指令对象列表。6.根据权利要求4所述的伪指令编译方法,其特征在于,所述根据所述详细信息结合所述用户参数进行编译,以得到编译结果,包括:将指令对应的二进制数据...

【专利技术属性】
技术研发人员:葛曙光
申请(专利权)人:杭州至千哩科技有限公司
类型:发明
国别省市:

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

1