Font Size: a A A

Research On Dynamic Binary Translation And Optimization

Posted on:2007-03-19Degree:DoctorType:Dissertation
Country:ChinaCandidate:F TangFull Text:PDF
GTID:1118360185954174Subject:Computer system architecture
Abstract/Summary:PDF Full Text Request
Binary translation is an important technique to resolve the problem of code migration. The research on the binary translation and the related optimization has signality not only for legacy code migration but also for the program performance improvement and other aspect. This thesis summarizes the current research work about the binary translation. To implement dynamic binary translation effectively, several optimized methods come up in this thesis: EfLA algorithm to enhance the efficiency of emulating the condition code of the source platform on target platform;two algorithms to handle the active and passive exception in application level; and a translation-guided algorithm for register allocation. We design and implement two application-level binary translators: Digital Bridge and Digital Bridge V2. These two systems both work under linux for Godson server, and translate the elf file of x86 ISA to Godson ISA( MIPS likely). The former is a dynamic translator and the latter combines static and dynamic translation based on the first system.The main contributes of this thesis are:1. We describe the algorithm of Eflag linear analyzing(EfLA). The Complexity of the algorithm is linear and the algorithm reduces the flag computing dramatically and increases the performance of the dynamic execution.2. Exception handling is one of the most important aspects of binary translation research .How to balance the cost of exception handling and the efficiency of binary translation is the key problem. This thesis presents two methods to handle the active and passive exceptions in the library function jacket level. One comes up to handle the signal exception efficiently. And the other uses emulated stack unwinding to find the calling address to help handling the try catch exception. The experiments prove the validity of the two algorithms. Adding the exception mechanics to the system doesn't decrease the performance of the common programs.3. Register allocation is a key field relating to the efficiency of a binary translator. It is important to balancing the benefit and the cost of register allocation. This thesis presents a translation-guided algorithm of register allocation in dynamic binary translation. With the algorithm, the registers are exploited effectively and the cost is...
Keywords/Search Tags:Binary Translation, Dynamic Optimization, Eflag Bits Emulating, Exception handling, Register Allocation, Optimization Model
PDF Full Text Request
Related items