exagear模拟器(exagear)

时间:2024-02-17 18:10:58 来源:网友上传 编辑:趾高气扬

华为的 x86/ARM 动态二进制翻译器 ExaGear

众所周知,苹果正在进行将旗下的电脑从 Intel 处理器切换到自家的 Apple Silicon 处理器,首当其冲的就是新近推出的 Apple M1 笔电和 iMac mini,按照苹果的计划,整个切换工作大概需要一年半左右(时间基本上和当年 PowerPC to Intel 相当)。

处理器切换带来的主要问题是 M1 采用的是 ARMv8 指令集,现有的 Intel64 应用不能直接运行,为了尽量平滑化这个过渡,苹果推出了名为 Rosetta 2 的动态二进制转换器,可以先把 Intel64 的二进制代码先行转译为 ARMv8 指令,从而实现接近无缝的切换。

类似的技术其实在以往就有,例如当年 DEC 的 FX!32、Intel 的 IA-32 转 EPIC 等,此外还有像 NVIDIA Tegra K1 Denver 内置了 x86 转换 ARM 的硬件译码器(需要与软件转码器结合)。

华为这边也有自己的 x86 动态二进制翻译器——ExaGear。

ExaGear 是一个软件包,安装到华为自己的 ARM 系统(鲲鹏 920 硬件平台 + Linux)后,执行起来就会让主机看起来像一个 AMD64 环境。

按照华为自己的介绍,在 ExaGear 里跑 SPEC CPU 2006,相比直接跑 ARM 指令的性能损失大约为 20%,这有点类似与 Rosetta 2 的情况。

比较有意思的是,目前这个东西已经可以在非华为的 ARM 系统上运行,例如 NVIDIA 的 Tegra K1 64-bit 和 Tegra Xavie,但是需要设置一个参数 O_MODE=none。

声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送至邮件举报,一经查实,本站将立刻删除。转载务必注明出处:http://www.hixs.net/article/20240217/169625182270045.html