[发明专利]用于具有专用寄存器的RISC处理器的编译器在审
| 申请号: | 202180004093.3 | 申请日: | 2021-07-23 |
| 公开(公告)号: | CN114127684A | 公开(公告)日: | 2022-03-01 |
| 发明(设计)人: | 许在勋 | 申请(专利权)人: | 深圳市汇顶科技股份有限公司 |
| 主分类号: | G06F9/30 | 分类号: | G06F9/30 |
| 代理公司: | 北京合智同创知识产权代理有限公司 11545 | 代理人: | 李杰 |
| 地址: | 518045 广东省深圳*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 用于 具有 专用 寄存器 risc 处理器 编译器 | ||
1.一种编译器,被配置成基于源代码生成可执行代码,其中,所述源代码包括多个变量,所述编译器包括被配置成为每个源代码变量分配寄存器的可执行代码生成器,其中,所述可执行代码生成器被配置成:在一组寄存器类型中选择为每个变量分配的寄存器类型,其中,每个变量的所分配的寄存器与针对该变量确定的确定寄存器类型对应。
2.根据权利要求1所述的编译器,其中,所述一组寄存器类型包括:
第一寄存器文件的第一寄存器,所述第一寄存器文件包括第一数量的读端口和写端口,以及
第二寄存器文件的第二寄存器,所述第二寄存器文件包括第二数量的读端口和写端口,其中,所述第一数量的读端口和写端口与所述第二数量的读端口和写端口不同。
3.根据权利要求1所述的编译器,其中,所述可执行代码生成器被配置成:通过确定分配给每个变量的所述寄存器在被执行时将需要多少读端口和写端口来选择为每个变量分配的所述寄存器类型。
4.根据权利要求1所述的编译器,其中,所述可执行代码生成器被配置成:通过确定所述寄存器类型中的哪些寄存器类型适应每个变量的执行时间需求来选择为每个变量分配的所述寄存器类型。
5.根据权利要求1所述的编译器,其中,所述可执行代码生成器被配置成:接收由所述编译器生成的中间代码,其中,选择为每个变量分配的所述寄存器类型包括确定所述变量在所述中间代码中如何使用。
6.根据权利要求5所述的编译器,其中,所述可执行代码生成器被配置成:通过确定所述寄存器类型中的哪些寄存器类型适应每个变量的执行时间需求来选择为每个变量分配的所述寄存器类型。
7.根据权利要求6所述的编译器,其中,所述可执行代码生成器被配置成:通过确定一种以上的寄存器类型适应特定变量的执行时间需求来选择为所述特定变量分配的寄存器类型。
8.根据权利要求7所述的编译器,其中,所述可执行代码生成器被配置成通过以下方式来选择为特定变量分配的所述寄存器类型:基于所选择的寄存器类型与适应所述特定变量的执行时间需求的其他寄存器类型相比需要较少的功率进行操作来选择适应所述特定变量的执行时间需求的所述寄存器类型中之一。
9.根据权利要求7所述的编译器,其中,所述可执行代码生成器被配置成通过以下方式来选择为特定变量分配的所述寄存器类型:基于保留具有适应所述特定变量的执行时间需求的寄存器类型之一的寄存器的寄存器文件的未使用状态来选择适应所述特定变量的执行时间需求的所述寄存器类型中之一。
10.根据权利要求1所述的编译器,其中,所述可执行代码生成器还被配置成:将第一寄存器类型的寄存器分配给针对所述第一寄存器类型确定的变量作为第一寄存器分配问题,以及将第二寄存器类型的寄存器分配给针对所述第二个寄存器类型确定的变量作为第二个寄存器分配问题。
11.一种使用编译器基于源代码生成可执行代码的方法,其中,所述源代码包括多个变量,所述方法包括:
利用可执行代码生成器,在一组寄存器类型中选择为每个变量分配的寄存器类型;
利用所述可执行代码生成器,为每个源代码变量分配寄存器,其中,每个变量的所分配的寄存器与针对该变量确定的确定寄存器类型对应。
12.根据权利要求11所述的方法,其中,所述一组寄存器类型包括:
第一寄存器文件的第一寄存器,所述第一寄存器文件包括第一数量的读端口和写端口;以及
第二寄存器文件的第二寄存器,所述第二寄存器文件包括第二数量的读端口和写端口,其中,所述第一数量的读端口和写端口与所述第二数量的读端口和写端口不同。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市汇顶科技股份有限公司,未经深圳市汇顶科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202180004093.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种电源拓扑、电机驱动控制器及车辆
- 下一篇:无线充电装置





