文档介绍:上海交通大学
硕士学位论文
可重定向动态二进制翻译器中浮点运算单元的设计与实现
姓名:秦鹏
申请学位级别:硕士
专业:软件工程
指导教师:步丰林
20080101
上海交通大学硕士学位论文摘要
可重定向动态二进制翻译器中浮点运算单元的设计与实现
摘要
可重定向的动态二进制翻译系统,是利用动态二进制翻译技术,
实现的一种适用于可变源和目标的二进制翻译系统。其设计目标是提
供一个可重用的框架,提供中间表示并进行优化,开发某具体的翻译
器时,重用公共部分的代码,只需编写机器相关部分的源代码,减少
了代码量与开发时间。
CrossBit 是一个可重定向的动态二进制翻译基础平台,系统可以
将 SimpleScalar 整点数据用户级程序运行在 X86 物理机器上,遗憾的
是暂时还不支持浮点数据的处理。本文研究如何在 CrossBit 中构造浮
点运算单元,使翻译系统能够正确翻译包含浮点运算指令的用户级程
序;并使浮点运算单元中虚拟指令的处理过程与源和目标处理器无
关。本浮点运算单元要解决的问题是:使 CrossBit 能够正确处理浮点
数据和使浮点运算单元平台无关。实现正确处理浮点数据的关键在于
能够正确表示与执行源、目标机器平台的指令集;实现平台无关的关
键在于设计浮点数中间指令集。
I
上海交通大学硕士学位论文摘要
在设计和实现过程中,通过设计平台无关的浮点数中间指令集,
前端解码器和后端编码器,顺利解决了 CrossBit 中实现浮点数据处理
功能的相关问题。
本文在对基于 CrossBit 基础翻译器平台的浮点运算单元的设计与
实现的过程中,探讨了二进制翻译器中浮点运算单元的结构,各个模
块的实现方案,以及浮点数中间指令集的设计思想等。最后通过实验,
验证了 CrossBit 加入该浮点运算单元后,具备了浮点数据的处理能
力,能够正确翻译包含浮点运算指令的程序。
关键词:动态二进制翻译,可重定向, 浮点运算,CrossBit
II
上海交通大学硕士学位论文 Abstract
DESIGN AND IMPLEMENTATION OF
FLOATING POINT UNIT IN RETARGETBALE
DYNAMIC BINARY TRANSLATOR
ABSTRACT
Retargetable dynamic binary translating system is a kind of binary
translating system, which is base on binary translating technology and has
more than one source ends and target ends. The objective of this system is
designing a reusable frame, exposing a kind of virtual instruction set and
optimizing for the virtual instruction set. A part of codes can be reused
while developing a specific translator, code lines and developing period
will be reduced, because programmers only need to design machine
relative parts.
CrossBit is a retargetable dynamic binary translation infrastructure,
which can translate integer application of SimpleScalar into correspond
applications of X86 correctly, but floating point instructions are still not
III
上海交通大学硕士学位论文 Abstract
supported. The work of this thesis is studying and analyzing how to design
and develop a floating point unit (FPU) in CrossBit, which should translate
floating point applications correctly and ef