检索规则说明:AND代表“并且”;OR代表“或者”;NOT代表“不包含”;(注意必须大写,运算符两边需空一格)
检 索 范 例 :范例一: (K=图书馆学 OR K=情报学) AND A=范并思 范例二:J=计算机应用与软件 AND (U=C++ OR U=Basic) NOT M=Visual
作 者:王军[1] 庞建民[1] 傅立国[1] 岳峰[1] 单征[1] 张家豪 Wang Jun;Pang Jianmin;Fu Liguo;Yue Feng;Shan Zheng;Zhang Jiahao(State Key Laboratory of Mathematical Engineering and Advanced Computing(Strategic Support Force Information Engineering University),Zhengzhou 450002)
机构地区:[1]数学工程与先进计算国家重点实验室(战略支援部队信息工程大学),郑州450002
出 处:《计算机研究与发展》2019年第4期708-718,共11页Journal of Computer Research and Development
基 金:国家自然科学基金项目(61472447;61802433)~~
摘 要:针对二进制翻译器QEMU(quick emulator)在寄存器映射时未考虑基本块之间以及循环体之间对寄存器需求的差异,造成不必要的寄存器溢出而导致的冗余访存开销问题,引入全局寄存器静态映射和局部寄存器动态分配思想,提出高效的基于优先级的动静结合寄存器映射优化算法.该算法首先基于源平台不同寄存器使用的统计特征和各变量的生命周期,静态进行全局寄存器映射;然后依据中间表示与源平台寄存器之间的映射关系,获取基本块中间指令需求寄存器次数并排序确定寄存器分配的优先级;之后依据优先级顺序动态进行寄存器分配,从而减少寄存器溢出次数,降低生成的本地代码的膨胀率以及访存次数,提高目标程序性能.对NBENCH、典型的递归程序和SPEC2006的测试表明:该算法有效地减少了本地代码的访存次数,提高了程序性能,平均比优化前性能分别提升了8.67%, 8.25%, 8.10%.To reduce the redundant memory access caused by unnecessary registers overflow in binary translation,as the registers mapping in binary translation ignores the difference of register requirements among basic blocks and loop blocks,an efficient dynamic and static combined registers mapping optimization algorithm based on priority is proposed,introduces the idea of allocating global register statically and allocating local register dynamically.Firstly,global register is mapped statically to reduce the global register overflow cost and maintenance overhead,according to statistical features of different registers used on the source platform and the life cycle of variable.Then,the number of registers requested by intermediate instruction can be obtained,based on the intermediate representation.Therefore,the priority of registers allocation is determined.Lastly,dynamically allocate the registers in order to reduce the number of registers overflow,to reduce the expansion rate of the generated local code and memory access times.Thus,the performance of the target program is improved.The test results of NBENCH,representative recursive programs and SPEC2006 show that,the algorithm effectively reduces the memory access of local code,and improves the program performance with an average increase of 8.56%,8.14%,and 8.01%,respectively.
关 键 词:二进制翻译 寄存器分配 翻译器QEMU 反馈式静态二进制翻译器FD-SQEMU TCG中间表示
分 类 号:TP314[自动化与计算机技术—计算机软件与理论]
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在链接到云南高校图书馆文献保障联盟下载...
云南高校图书馆联盟文献共享服务平台 版权所有©
您的IP:3.17.129.242