-
题名二进制翻译中的X86浮点栈处理
被引量:2
- 1
-
-
作者
谢海斌
武成岗
崔慧敏
李晶
-
机构
中国科学院计算技术研究所
-
出处
《计算机研究与发展》
EI
CSCD
北大核心
2007年第11期1946-1954,共9页
-
基金
国家自然科学基金项目(60403017)~~
-
文摘
二进制翻译系统是一种基于软件的跨平台代码迁移系统,它将一种体系结构的二进制代码翻译成另一种体系结构的二进制代码.二进制翻译可以用于解决遗产代码的迁移问题,也可以实现不同硬件平台之间软件的通用.浮点栈的处理已成为以X86为源的二进制翻译的研究中的关键性问题之一,如何处理X86浮点栈问题直接关系到以X86为源的二进制翻译系统的性能.针对X86浮点寄存器栈的特征,提出了一种扩展虚拟栈(extending virtual stack)处理方案.它采用归一的方法,保证了每个基本块中的运算所涉及到的浮点寄存器可以直接映射到目标机器中的浮点寄存器,确保了翻译的效率,并利用翻译时的分析避免了在入口处不必要的判断;同时还给出了在基本块入口处判别一个基本块是否会出现浮点栈上溢和下溢的充分必要条件,为生成更加高效的代码提供了条件.实验表明,它能够在保证正确实现其功能的前提下,获得更好的执行效率.
-
关键词
二进制翻译
浮点翻译
x86浮点栈
扩展虚拟栈
归一
-
Keywords
binary translation
floating point translation
x86 FPU stack
extending virtual stack
unify
-
分类号
TP314
[自动化与计算机技术—计算机软件与理论]
-