[发明专利]基于最大完全子图的嵌入式系统寄存器分配方法有效
| 申请号: | 201110268061.2 | 申请日: | 2011-09-09 |
| 公开(公告)号: | CN102331919A | 公开(公告)日: | 2012-01-25 |
| 发明(设计)人: | 吴建设;焦李成;畅志艳;陈为胜;钟桦;王爽;侯彪;吴家骥;公茂果 | 申请(专利权)人: | 西安电子科技大学 |
| 主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/45;G06N3/12 |
| 代理公司: | 陕西电子工业专利中心 61205 | 代理人: | 王品华;朱红星 |
| 地址: | 710071 陕*** | 国省代码: | 陕西;61 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 最大 完全 嵌入式 系统 寄存器 分配 方法 | ||
技术领域
本发明属于计算机技术领域,涉及嵌入式系统,特别是一种基于最大完全子图的嵌入式系统寄存器分配方法,该方法用于嵌入式系统寄存器分配中,能够高效的将程序编译过程中产生的中间变量,尽可能多的存到寄存器中,从而减少溢出代价和溢出变量个数,提高寄存器的利用率,进而提高嵌入式系统中程序的编译效率。
背景技术
在嵌入式系统中,程序通常是为实现某个固定的功能而编写的,所以要求编写的程序在编译后能够产生高质量的代码,具有较高的执行效率。存储器和寄存器都被用于储存程序编译过程中产生的中间变量。相对于存储器,寄存器的访问速度要快的多,但是数量很少。在程序编译过程中,如果寄存器不能存储所有的中间变量,那么就会有一部分中间变量被保存到存储器中,这种情况称为溢出。嵌入式系统从存储器中存取中间变量所花费的时间称之为该中间变量的溢出代价。因此,程序经过编译后能否得到高质量的代码很大程度上取决于能否将更多的中间变量保存到寄存器中,以减少溢出中间变量的个数,这就是嵌入式系统寄存器的分配问题。
到目前为止,大多数寄存器分配问题都是建模成为图着色模型来描述的,较早的基于图着色模型的嵌入式系统寄存器分配算法是由Briggs等人提出的优化图着色启发式算法OCH,设计相对简单,是对chaitin提出的图着色启发式算法的一种改进,分配效果较差。后来很多学者致力于用混合进化算法HEA来解决嵌入式系统寄存器分配问题,充分利用遗传算法的思想,首先对种群进行初始化,然后利用交叉算子从两个父代中产生出一个新的寄存器分配方案,将其遗传到子代,常用的交叉算子有贪婪分割交叉算子GPX和免冲突交叉算子CFPX,最后通过局部搜索LSP让变量在单一个体中的寄存器之间进行调整从而降低该个体总的溢出代价Spill Cost。记录每一次迭代过程中产生的最优个体,进而得到最终的最优个体,也就得到了寄存器分配办法。在上面提到的两个交叉算子中,GPX只是简单的从父代中选择包含中间变量最多的寄存器遗传到子代中,并没有考虑该寄存器所存储的中间变量之间的冲突关系,也没有做出相应的调整。CFPX虽然设计上优于GPX,充分考虑了被继承的寄存器所存储的中间变量之间的冲突关系,但是它仅仅考虑了中间变量的个数,并没有考虑每个变量的溢出代价,所以也不能称为一个完美的交叉算子,得到的寄存器分配方案仍然有较多的中间变量被溢出到存储器中,降低了寄存器分配的效率。
发明内容
本发明的目的在于克服上述已有技术的不足,提出了一种基于最大完全子图的嵌入式系统寄存器分配方法,以将程序编译过程中产生的中间变量,尽可能多的存到寄存器中,减少溢出代价和溢出变量个数,提高寄存器分配效率。
为实现上述目的,本发明的技术方案包括如下步骤:
(1)初始化种群步骤
1a)绘制程序编译过程中产生的中间变量的相互干扰图H,在干扰图H中,每一个结点代表一个中间变量,每一条边所连接的两个结点相互干扰,并且给出每个中间变量的溢出代价,溢出代价即嵌入式系统从存储器中存取中间变量所花费的时间;
1b)取出相互干扰图H的补图G={N,S,V,E},其中,N代表中间变量总数,S代表寄存器数量,每个寄存器用Ri,i=1…S表示,V代表所有中间变量的结点集,结点分别标记为0,1,2,...,N-1,E代表所有的无向边的集合,在补图G中,每一条边所连接的两个结点放在同一个寄存器中,使得溢出代价和溢出变量个数尽可能的小;
1c)将中间变量的结点集V中的N个结点随机的分成两类,分别用A和B来表示;
1d)根据补图G绘制集合A中所有结点之间的邻接关系GA=(VA,EA)其中VA=A,对于VA中任意的两个结点vi,vj,当vi和vj能放在同一个寄存器中时,将vi与vj相连;
1e)寻找邻接图GA的一个最大完全子图,将该最大完全子图中包含的结点vk放入下标最小的空寄存器中;
1f)从GA中删除步骤1e)已经放入寄存器中的结点vk,得到GA更新后的子图GA′;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110268061.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:IPTV机顶盒维修升级装置
- 下一篇:一种具有智能蓝牙耳机的移动终端系统





