2023.02.12
1. Introduction
我很赞同文章(2013)提出的二进制翻译的3个主要问题, 现在(2023)依旧是这3个主要问题吗?
- ISA heterogeneity: the architectural heterogeneity between source and target ISAs.
- Address difference: target addresses of the branch instructions in the target machine are different from the original ones in the source machine.
- Context switches: DBT generates code on-the-fly, frequent context switches between the process of non-native code translation and the process of execution of generated native code leads to performance decline.
4. Hardware Support for DBT
- 添加硬件flags解决x86 eflags
- 用Jump-address LookUp Table(JLUT)解决跳转地址问题
- 添加硬件scratchpad memory用于临时存储x86寄存器,降低上下文切换的开销