龙芯 x86 架构转译器 LATX 开源

来源: OSCHINA
2025-03-26 15:59:00

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年)》发布

展开阅读全文
点击加入讨论🔥(6) 发布并加入讨论🔥
6 评论
4 收藏
分享
返回顶部
顶部