[发明专利]一种针对混合长度指令集的寄存器分配方法有效
申请号: | 201110333460.2 | 申请日: | 2011-10-28 |
公开(公告)号: | CN102360280A | 公开(公告)日: | 2012-02-22 |
发明(设计)人: | 李莹;闫卫斌;吴朝晖;尹建伟;邓水光;吴健 | 申请(专利权)人: | 浙江大学 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/318 |
代理公司: | 杭州裕阳专利事务所(普通合伙) 33221 | 代理人: | 江助菊 |
地址: | 310027 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 针对 混合 长度 指令 寄存器 分配 方法 | ||
技术领域
本发明涉及一种编译技术,尤其涉及一种针对混合长度指令集的寄存器分配方法。
背景技术
嵌入式系统常采用RISC架构,其指令集一般为定长指令集,即只具有单一长度的指令。指令长度一般为整数个字节,例如,16位指令,32位指令。较长的指令长度可以编码更多的操作数,寻址更多的寄存器,或者可使用更大的立即数等,故一般具有更好的性能;而较短的指令长度可以使得编译生成的可执行程序更小。为了在具有长指令高性能的同时具有短指令的高代码密度,现代的RISC处理器开始采用两种或者两种以上不同长度指令混合编码的指令集。例如,ARM的thumb2指令集和中天微公司的cskyv2指令集都是16位与32位指令混合编码的指令集(以下简称“混编指令集”)。
在混编指令集中,短指令相比长指令而言,寻址的操作数个数少,可编码的立即数范围小,或者单个地址只可使用部分寄存器。例如,在cskyv2指令集中,长指令可使用R0~R31全部共32个通用寄存器,而绝大多数短指令只可使用R0~R15共16个通用寄存器;长指令一般具有3操作数,而短指令最多只有2操作数。短指令在功能上是长指令的一个子集。通常,编译器按照长指令的功能来生成汇编指令,而汇编器生成机器指令时,会根据指令的类型和其操作数来决定生成长指令还是短指令。
以cskyv2为例,如果一条指令的某个寄存器操作数被分配了R16~R31的寄存器,那么该指令将生成一条长指令(个别指令除外,下外将介绍);但一条指令即使只使用R0~R15的寄存器,它也并不一定生成短指令,因为它可能使用了超出短指令可编码范围的立即数,或者使用了3个不同的操作数等等。以cskyv2为例,如果一条指令的某个寄存器操作数被分配了R16~R31的寄存器,那么该指令将生成一条长指令(个别指令除外,下外将介绍);但一条指令即使只使用R0~R15的寄存器,它也并不一定生成短指令,因为它可能使用了超出短指令可编码范围的立即数,或者使用了3个不同的操作数,等等。如果一条指令最终生成的机器指令是长指令还是短指令取决于其分配到的寄存器(以下简称 A类指令);反之,如果不论其寄存器操作数分配到哪个寄存器,其必然生成一条长指令,或者必然生成一条短指令(以下简称 B类指令)。如何以较小的代价使得所有的A类指令最终生成的机器指令为短指令,是技术人员需要克服的难点。
发明内容
针对上述技术难点,本发明的提出一种针对混合长度指令集的寄存器分配方法。
为了解决上述技术问题,本发明的技术方案如下:
一种针对混合长度指令集的寄存器分配方法,包括如下步骤:
1) 查找函数中的所有生命周期,通过设置标志位是否置位来判断设该生命期为A类生命期还是B类生命期;
2) 执行图着色寄存器分配方法的Renumber1、build1、coalesce1、spill cost1、和simplify1五个过程,为所有A类生命期分配lo-regs寄存器,得到未进行任何溢出操作的冲突图G1;
3) 计算空闲lo-regs寄存器数m,如果所述冲突图G1 非空,则空闲lo-regs寄存器数m为0,如果所述冲突图G1 为空图,则执行图着色寄存器分配方法的select1过程,并根据生成的寄存器分配方案计算空闲的lo-regs寄存器数m,并记录空闲寄存器信息;
4) 执行图着色寄存器分配方法的Renumber2、build2、coalesce2、simplify2 、spill code2和select2过程,为B类生命期分配hi-regs寄存器和m个空闲的lo-regs寄存器,并根据生成的分配方案计算空闲的hi-regs寄存器数量n,并记录空闲寄存器信息;
5) 执行图着色寄存器分配方法的spill code1和select1过程,如果select1过程已经在
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110333460.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:塔位箱体改良结构
- 下一篇:铁矿石取制样方法及系统