[发明专利]基于反图描述的嵌入式系统寄存器分配方法有效
申请号: | 201010540675.7 | 申请日: | 2010-11-12 |
公开(公告)号: | CN102033773A | 公开(公告)日: | 2011-04-27 |
发明(设计)人: | 吴建设;焦李成;畅志艳;尚荣华;缑水平;陈为胜;李阳阳;于昕;戚玉涛 | 申请(专利权)人: | 西安电子科技大学 |
主分类号: | G06F9/45 | 分类号: | G06F9/45 |
代理公司: | 陕西电子工业专利中心 61205 | 代理人: | 王品华;朱红星 |
地址: | 710071*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提出了一种基于反图描述的嵌入式系统寄存器分配方法,主要解决现有启发式算法虽然分配寄存器所需时间较短但是分配效果极差,而混合进化算法虽然分配效果很好但是所需时间太长的问题。其实现步骤是:(1)对中间变量的相互干扰图取反图,得到反图模型G;(2)将反图模型中的所有节点分配到临时寄存器中;(3)对已得到的寄存器分配结果使用本地查找技术LSP进行优化。本发明的优点是引入了反图操作、完全分割图操作和最大完全子图操作,充分应用图论的有关知识,能在短时间内得到非常好的嵌入式系统寄存器分配方法,提高嵌入式系统程序编译效率,更加具有实际应用价值。 | ||
搜索关键词: | 基于 描述 嵌入式 系统 寄存器 分配 方法 | ||
【主权项】:
一种基于反图描述的嵌入式系统寄存器分配方法,包括如下步骤:(1)绘制出嵌入式系统在程序编译过程中产生的中间变量相互干扰图H,并给出每个中间变量的溢出代价;(2)对中间变量相互干扰图H进行反图操作,得到反图模型为:G={N,M,V,E,S},其中N代表中间变量总数,M代表所给的寄存器数量,V代表所有中间变量的节点集,节点分别标记为0,1,2...N‑1,E代表所有的无向边的集合,S代表所有中间变量溢出代价的集合;(3)将嵌入式系统所给的M个寄存器分别记为R1,R2,...,RM,并设定有无穷多个临时寄存器,分别记为TR1,TR2,...,TRf...;(4)在反图模型G中,分别以图G中每个节点为中心点,判断该中心点与其所有有连接的节点及其边所构成的子图是否为完全图,若为完全图则将其定义为完全分割图,该完全分割图如果有且只有一个,则选择下标最小的空临时寄存器,将完全分割图中的节点放入其中,直接执行步骤(5);若该完全分割图不唯一,则选择出溢出代价最大的完全分割图中包含节点数最多的一个完全分割图,将其节点放入下标最小的空临时寄存器中,直接执行步骤(5);若反图模型G中不存在完全分割图,则直接把反图模型G看作一个不包含完全分割图的子图G′,跳转执行步骤(6);(5)在反图模型G中删除已经放到临时寄存器中的完全分割图,重复步骤(4)~(5),直到得到一个不包含完全分割图的子图G′;(6)在不包含完全分割图的子图G′中,分别以图G′中每个节点作为中心点,在每个中心点与其所有有连接的节点及其边所构成的子图Pi中,寻找Pi中溢出代价最大的最大完全子图Fi;从Fi中选择溢出代价最大的最大完全子图中包含节点最多的一个最大完全子图Fmax,将Fmax放入下标最小的空临时寄存器中,其中i依次取G′中所包含的节点;(7)在G′中删除Fmax,得到G′的更新图G″,对G″重复步骤(4)~(7)的操作,直到所有节点都放入临时寄存器TRj中,其中j=1...L,L为完全分配所有节点所需临时寄存器的数量;(8)将临时寄存器TRj(j=1...L)中的节点变量存储到嵌入式系统寄存器Rk(k=1...M)中;若L≤M,溢出变量个数为零,溢出代价为零,则分配结束;若L>M,则会有中间变量溢出到外存储器中,根据混合进化算法HEA中的冲突最小原则,将临时寄存器TRj(j=M+1...L)中的中间变量也放入嵌入式系统寄存器Rk(k=1...M)中,并使用本地搜索技术LSP方法对其进行优化,分配结束。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201010540675.7/,转载请声明来源钻瓜专利网。
- 上一篇:时钟源选择的处理方法、装置和系统
- 下一篇:一种烧结厂控制系统