[发明专利]一种用于转换代码的处理装置、方法和编译器在审
申请号: | 202210107379.0 | 申请日: | 2022-01-28 |
公开(公告)号: | CN114443014A | 公开(公告)日: | 2022-05-06 |
发明(设计)人: | 高斐;杜超;王峰 | 申请(专利权)人: | 北京奕斯伟计算技术有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F8/41;G06F9/30 |
代理公司: | 北京市立方律师事务所 11330 | 代理人: | 张筱宁 |
地址: | 100176 北京市北京经济技*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 转换 代码 处理 装置 方法 编译器 | ||
本申请实施例提供了一种用于转换代码的处理装置、方法和编译器,涉及软件编译技术领域。该装置包括:存储器,存储代码;逻辑电路,其与存储器耦合,逻辑电路用于获取待转换的代码;以及基于预设函数属性获取代码的实际指令消耗值,根据实际指令消耗值对代码进行排序和指令调度;其中,预设函数属性配置在代码中;预设函数属性用于确定代码的指令消耗值。本申请实施例通过预设函数属性确定代码的实际指令消耗值,有效提升了代码转换后所生成的机器指令的执行效率。
技术领域
本申请涉及软件编译技术领域,具体而言,本申请涉及一种用于转换代码的处理装置、方法和编译器。
背景技术
编译是指从源代码到能直接被计算机或虚拟机执行的目标代码的翻译过程;其中,源代码通常为高级语言,目标代码通常为低级语言或机器语言。在生成机器代码的过程中,编译器会基于一定时钟周期对程序指令中所对应的各指令进行排序和调度。
现有技术中,通常采用指令消耗模型来预估指令执行所需的时钟周期,其所预估的时钟周期一般为固定的,可能与指令实际消耗的时钟周期存在偏差,导致程序指令的执行效率下降。
发明内容
本申请实施例提供了一种用于转换代码的处理装置、方法和编译器,可以解决现有技术中程序指令执行效率低下的问题。所述技术方案如下:
根据本申请实施例的另一个方面,提供了一种用于转换代码的处理装置,该装置包括:
存储器,存储代码;
逻辑电路,其与存储器耦合,逻辑电路用于获取待转换的代码;以及基于预设函数属性获取代码的实际指令消耗值,根据实际指令消耗值对代码进行排序和指令调度;其中,预设函数属性配置在代码中;预设函数属性用于确定代码的指令消耗值。
可选的,上述逻辑电路用于将预设函数属性的逻辑处理方式封装进预设关键字中,基于关键字为代码配置预设函数属性。
可选的,上述逻辑电路用于对关键字进行语法解析,得到预设函数属性的逻辑处理方式;根据逻辑处理方式,获取代码的实际指令消耗值。
可选的,上述逻辑电路用于当实际指令消耗值的数量为至少两个,则基于实际指令消耗值对代码进行检测,确定目标指令消耗值;根据目标指令消耗值对代码进行排序和指令调度。
可选的,上述逻辑电路用于分别针对每一实际指令消耗值,检测代码对应的执行效率;将获取到的执行效率的最高值所对应的实际指令消耗值确定为目标指令消耗值。
可选的,上述实际指令消耗值包括,代码对应的指令消耗最大值、最小值、平均值以及最高频次值中的至少一项。
根据本申请实施例的一个方面,提供了一种转换代码的处理方法,该方法包括:
获取待转换的代码;其中,代码配置有对应的预设函数属性;预设函数属性用于确定代码的指令消耗值;
基于预设函数属性获取代码的实际指令消耗值;
根据实际指令消耗值对代码进行排序和指令调度。
可选的,上述预设函数属性的配置过程包括:
将预设函数属性的逻辑处理方式封装进预设关键字中;
基于关键字为代码配置预设函数属性。
可选的,上述基于预设函数属性获取代码的实际指令消耗值,包括:
对关键字进行语法解析,得到预设函数属性的逻辑处理方式;
根据逻辑处理方式,获取代码的实际指令消耗值。
可选的,上述根据实际指令消耗值对代码进行排序和指令调度,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奕斯伟计算技术有限公司,未经北京奕斯伟计算技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210107379.0/2.html,转载请声明来源钻瓜专利网。