动态二进制翻译技术包括使用软件和软硬件结合的方法实现,软件比如华为动态二进制翻译工具ExaGear,ExaGear主要有两个组件:指令翻译引擎和x86运行环境。通过ExaGear实现从x86指令集翻译为ARM64架构指令集,从而使得x86的应用能在ARM64构架下运行。
软硬件结合比如龙芯二进制翻译系统,软件是LAT翻译包,硬件是基于龙芯3C5000/3A5000+LoongArch指令集(176条二进制翻译扩展指令)。软硬件结合使得x86应用能在LoongArch架构运行,使用LATX 和WINE 可实现x86/Windows应用在LoongArch/Linux平台上运行。
关于二进制翻译系统的性能,首先在准确性上,ExaGear和龙芯二进制翻译系统运行x86应用的准确率不低于80%;在速度上,由于x86应用在目标机运行时需要进行二进制翻译,速度不如直接运行在源机上。二进制翻译系统的性能主要取决于翻译引擎的效率、硬件性能、代码的复杂性、并行处理,可通过这些因素来提高二进制翻译系统的性能。