检索规则说明:AND代表“并且”;OR代表“或者”;NOT代表“不包含”;(注意必须大写,运算符两边需空一格)
检 索 范 例 :范例一: (K=图书馆学 OR K=情报学) AND A=范并思 范例二:J=计算机应用与软件 AND (U=C++ OR U=Basic) NOT M=Visual
作 者:戴涛[1] 单征[1] 卢帅兵[1] 石强[1] 潭捷
机构地区:[1]解放军信息工程大学数学工程与先进计算国家重点实验室,河南郑州450002
出 处:《浙江大学学报(工学版)》2016年第7期1338-1346,共9页Journal of Zhejiang University:Engineering Science
基 金:国家自然科学基金资助项目(61472447)
摘 要:针对动态二进制翻译系统QEMU寄存器分配不考虑基本块之间对寄存器需求的差异性,造成不必要寄存器溢出而导致重复访存开销的问题,提出高效的基于优先级线性扫描寄存器分配算法.该算法基于中间表示与源平台寄存器之间的映射关系,获取每一次生成基本块中间指令预分配寄存器次数并统计排序确定寄存器的优先级,寄存器分配时动态调整寄存器分配顺序,减少寄存器溢出次数,降低生成本地代码指令数量.QEMU动态翻译x86、mips及arm平台的nbench测试集实验结果表明,该算法基于中间代码改进具有很好的跨平台性,有效减少了生成本地代码指令数目,比QEMU优化前翻译性能分别提升了6.7%、6.8%、4.7%.QEMU uses a simple sequential allocation algorithm to deal with all the basic blocks withoutconsidering the difference between the basic block, which causes a lot of register overflow. A more efficientpriority-based linear scan register allocation algorithm was presented based on the mapping betweenintermediate representation and the source platform register, dynamically adjusting register allocationsequence to reduce register spilling times and the number of generated native code instructions by countingand ordering the pre-allocated registers of a basic block. The improved algorithm has a good cross-platformbased on intermediate code, effectively reducing the generation of local code instructions. Experimentalresults show that the algorithm is better than the performance of QEMU before optimization, which respectivelyupgrades about 6. 7 % , 6 . 8 % , 4. 7 % in x86 platform, mips platform and arm platform.
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在链接到云南高校图书馆文献保障联盟下载...
云南高校图书馆联盟文献共享服务平台 版权所有©
您的IP:160.79.109.31