标题: | 以LLVM为基础所设计的支援X86-64指令集架构之可重定目标混和型二元码转译器 X86-64 Instruction Set Architecture Supports for an LLVM-Based Retargetable Hybrid Binary Translator |
作者: | 洪毓廷 单智君 Hung, Yu-Ting Shann, Jyh-Jiun 资讯科学与工程研究所 |
关键字: | 混和型二元码转译器;hybrid binary translator |
公开日期: | 2017 |
摘要: | 混和型二元码转译是结合了动态二元码转译以及静态二元码转译的一种技术,而HBT-86是一个针对x86指令集架构以LLVM为基础所开发的可重定目标之混和型二元码转译系统。其支援的来源指令集为x86整数指令、x87浮点数指令、及部份SSE系列的SIMD (单指令流多资料流)整数指令,并且可以产生x86、x64、及ARM-32的目标执行档。相较于32位元的架构,64位元的架构可以一次存取更大的记忆体及暂存器,因此现在出现越来越多的64位元应用程式,所以我们的研究主要是在HBT-86的来源指令集加入对x64指令的支援。此外,为了确认此混合型二元码转译器的可重定目标性,我们也实作出对ARM-64目标系统的支援。在x64至x64的拟真实验结果中,对于SPEC2006 CINT Benchmark,此系统之拟真效能是QEMU的2.30倍,对于SPEC2006 CFP Benchmark,其拟真效能是QEMU的2.14倍;在x64至ARM-64的拟真实验结果中,对于SPEC2006 CINT Benchmark,此系统之拟真的效能是QEMU3.68倍,对于SPEC2006 CFP Benchmark,其拟真效能是QEMU的9.27倍。 Hybrid binary translation (HBT) is a binary translation technology which combines the technologies of static binary translation and dynamic binary translation. The HBT-86 is an LLVM-based retargetable HBT system for x86 instruction set architecture (ISA). For the previous HBT-86, the front-end supports only the x86 integer, x87 floating-point and a part of SSE SIMD integer instruction sets, and the back-end supports the x86 and x64 target platforms. However, comparing with 32-bit ISA, 64-bit ISA can access larger memory and registers. Thus, there are more and more 64-bit executables of applications in recent years. In this thesis, we extend the previous HBT-86 to support x64 source ISA. Moreover, for validating the retargetability of HBT-86, we extend the previous HBT-86 to support ARM-64 target ISA. For x64 to x64 emulation experiments, our HBT-86 is about 2.30 and 2.14 times faster than QEMU for SPEC2006 CINT and SPEC2006 CFP benchmark, respectively. For x64 to ARM-64 emulation, our HBT-86 is about 3.68 and 9.27 times faster than QEMU for SPEC2006 CINT and SPEC2006 CFP benchmark, respectively. |
URI: | http://etd.lib.nctu.edu.tw/cdrfb3/record/nctu/#GT070256129 http://hdl.handle.net/11536/140336 |
显示于类别: | Thesis |