LATX(Loongson Architecture Translator for x86)即龙芯 x86 架构转译器,是 一个面向 LoongArch 架构的高性能用户级二进制翻译器,用于在龙芯(龙架构)系 统上高效地运行 32/64 位 x86 应用程序。
LATX Version 1.6.0 已在 GitHub 开源,遵循 GPLv2 协议。
GitHub 地址:https://github.com/lat-opensource/lat
项目介绍称,LATX 基于 QEMU 6 版本开发并进行了深度优化,性能相比原生 QEMU 有显著提升。 项目利用龙架构的各指令集扩展(如向量扩展和二进制转译指令集)对 X86 指令集 进行了高效翻译,并采用了AOT(Ahead-of-Time )预编译、运行时库直通等关键优 化技术,其中库直通优化思想借鉴及引用了 box64 项目的部分源码。
项目背景
在 LoongArch 架构生态建设过程中,运行已有的 x86 程序存在兼容性和性能瓶颈, 原生 QEMU 等模拟器在性能和兼容性上并不能完全满足需求。因此,龙芯工程师在 QEMU 6 的基础上进行了二次开发,通过引入预编译、库直通以及其他针对性优化,大幅减少 了指令翻译和执行的开销,努力实现“更快、更稳定、更兼容”的目标。
历史演进
LATX 历经多个开发阶段:
- 2021 年:项目启动,完成 LATX 到 QEMU 6 的移植,Q3 项目进入 Alpha 阶段。
- 2022 年:支持库直通等优化,Q3 项目进入到 Beta 阶段。
- 2023 年:持续完善系统调用等接口的支持,以及更细致的指令优化。
- 2024 年:项目进入到 RC 阶段。
LATX 未来的优化与完善方向包括但不限于:
-
支持更复杂的 x86 指令集扩展(如 AVX)。
-
进一步提升库直通优化的覆盖范围。
-
提供详细的性能分析工具链,帮助开发者快速定位性能瓶颈。
-
维护更详细的文档与使用指南。
阅读更多:《龙架构生态白皮书(2024年)》发布