Font Size: a A A

Research Of Floating Point Unit In Dynamic Binary Translation System

Posted on:2011-07-08Degree:MasterType:Thesis
Country:ChinaCandidate:Z J CaiFull Text:PDF
GTID:2178360308452633Subject:Computer application technology
Abstract/Summary:PDF Full Text Request
In dynamic binary translation system, floating point unit is an important component to translate and execute floating point instructions. It is responsible for translating floating point instructions of the front-end executable binary program into target instructions of back-end platform, making the corresponding logic to be executed in the back-end processor. Besides ensuring the correctness of the premise, improving the performance is an important indicator for floating point unit.CrossBit is a retargetable dynamic binary translation system. It has constructed a floating point unit that used X87 floating point instructions of X86 as the back-end instructions. In addition to X87 floating point unit, X86 platform also has SSE floating point unit. This paper studies how does CrossBit utilize these two floating point units, and then construct a more efficient hybrid floating point unit, so as to enhance the performance of CrossBit. To make CrossBit be able to use the SSE floating point instructions, CrossBit needs a set of intermediate instructions that can not only interpret the floating point instructions of the front-end MIPS platform, but also be able to be translated into SSE floating point instructions.In the process of design and implementation for hybrid floating point unit, the paper's main work includes:Firstly, expansion and alteration of the intermediate instructions solves the issue of expressing both the X87 instructions and SSE floating point instructions.Secondly, X87 floating-point instructions and SSE floating point instructions share the status unit of the front-end floating point unit, making two kinds of instructions be able to co-exist.Thirdly, implementation of the interpreter achieves the transformation from the front-end MIPS instructions to the intermediate instructions of the expanded intermediate instruction set.Fourthly, implementation of the translator achieves the transformation from intermediate instructions to the back-end X87 and SSE floating point instructions.Fifthly, the paper implemented a simplified graph coloring register allocation algorithm (SGRA) and evaluated with several other common register allocation algorithms applied in dynamic binary translation system. Experiment result shows SGRA has the best performance. Using SGRA , the author implemented a floating point register allocator.This paper implemented the hybrid floating point unit in the dynamic binary translation infrastructure CrossBit. The hybrid floating point unit is able to execute basic floating point instructions correctly. Experiments show that the hybrid floating point unit combines the advantages of the two floating point units, with superior performance.
Keywords/Search Tags:Dynamic Binary Translation, CrossBit, SSE, X87, Floating Point Unit, Register Allocation
PDF Full Text Request
Related items