[发明专利]一种用于可扩展指令集的编译器及编译方法有效
申请号: | 201911298413.1 | 申请日: | 2019-12-17 |
公开(公告)号: | CN111078290B | 公开(公告)日: | 2023-03-14 |
发明(设计)人: | 蔡觉平;张芳芳 | 申请(专利权)人: | 西安电子科技大学 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F8/41 |
代理公司: | 陕西电子工业专利中心 61205 | 代理人: | 田文英;王品华 |
地址: | 710071*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 扩展 指令 编译器 编译 方法 | ||
1.一种用于可扩展指令集的编译器,包括输入模块、嵌入模块与编译模块,其特征在于,还包括输入模块与嵌入模块,其中:
所述的输入模块,用于从指定路径获取一个格式为.instruction的包含扩展指令定义与寄存器器定义的指令集描述文件;使用递归下降法,分别从扩展指令定义与寄存器器定义中提取扩展指令信息与寄存器信息,将扩展指令信息保存到指令表中,将寄存器信息保存到的寄存器表中;从指定路径获取一个格式为.policy的包括指令匹配条件的编译策略文件,读取策略文件中的指令匹配条件,将每个匹配条件设置一个对应的匹配函数,并保存到函数表中,该匹配函数通过模式匹配识别特殊代码段并将特殊代码代码段替换为扩展指令;从主函数的参数列表中获取源文件的数量与路径信息,依次获取源文件;
所述的嵌入模块,用于提取函数表中的所有匹配函数,根据匹配函数能够识别的代码类型,对源代码进行识别的匹配函数嵌在词法分析阶段之前,对中间代码进行识别的匹配函数嵌在中间代码生成阶段之后,对优化代码进行识别的匹配函数嵌在中间代码优化阶段之后
所述的编译模块,用于编译源代码与识别源代码中的特殊代码段,将特殊代码段编译为扩展指令序列,将普通代码段编译为基础指令集序列。
2.根据权利要求1所述编译器的一种用于可扩展指令集的编译方法,其特征在于,获取指令集描述文件,获取编译策略文件,将匹配函数嵌入编译模块,该方法的步骤如下:
步骤1,获取指令集描述文件:
输入模块提供获取扩展指令集的接口,从指定路径获取一个格式为.instruction的包含扩展指令定义与寄存器器定义的指令集描述文件;
使用递归下降法,分别从扩展指令定义与寄存器器定义中提取扩展指令信息与寄存器信息,将扩展指令信息保存到扩展指令表中,将寄存器信息保存到的寄存器表中;
步骤2,获取编译策略文件:
输入模块从指定路径获取一个格式为.policy的包括指令匹配条件的编译策略文件,读取策略文件中的指令匹配条件,将每个匹配条件设置一个对应的匹配函数,并保存到函数表中,该匹配函数通过模式匹配识别特殊代码段并将特殊代码代码段替换为扩展指令;
步骤3,将匹配函数嵌入编译模块:
嵌入模块提取函数表中的所有匹配函数,根据匹配函数能够识别的代码类型,对源代码进行识别的匹配函数嵌在词法分析阶段之前,对中间代码进行识别的匹配函数嵌在中间代码生成阶段之后,对优化代码进行识别的匹配函数嵌在中间代码优化阶段之后;
步骤4,获取源代码文件:
输入模块从主函数的参数列表中获取源文件的数量与路径信息,依次获取源文件;
步骤5,编译代码生成目标机器指令:
编译模块使用嵌入的匹配函数识别代码中的特殊代码段,将特殊代码段编译为扩展指令序列,将普通代码段编译为基础指令集序列。
3.根据权利要求2所述的一种用于可扩展指令集的编译方法,其特征在于,步骤1中所述的扩展指令信息包括指令编码、汇编输出、操作的寄存器和指令的特殊属性。
4.根据权利要求2所述的一种用于可扩展指令集的编译方法,其特征在于,步骤1中所述寄存器信息包括寄存器类别、寄存器名和寄存器位数。
5.根据权利要求2所述的一种用于可扩展指令集的编译方法,其特征在于,步骤1中所述的扩展指令表与寄存器表的结构为键值映射型数据结构,为后续模块可见的外部全局变量。
6.根据权利要求2所述的一种用于可扩展指令集的编译方法,其特征在于,步骤2中所述的指令匹配条件指示特殊代码类型与扩展指令相匹配,普通代码类型与基础指令集相匹配。
7.根据权利要求2所述的一种用于可扩展指令集的编译方法,其特征在于,步骤2中所述的函数表的结构为数组结构,为后续模块可见的外部全局变量。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911298413.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种无人机塑料外壳原料处理设备
- 下一篇:虚拟车厢连接方法、装置及电子设备