快捷搜索:  汽车  科技

华为开发的中文编译器(华为的x86ARM)

华为开发的中文编译器(华为的x86ARM)ExaGear 是一个软件包,安装到华为自己的 ARM 系统(鲲鹏 920 硬件平台 Linux)后,执行起来就会让主机看起来像一个 AMD64 环境。按照华为自己的介绍,在 ExaGear 里跑 SPEC CPU 2006,相比直接跑 ARM 指令的性能损失大约为 20%,这有点类似与 Rosetta 2 的情况。比较有意思的是,目前这个东西已经可以在非华为的 ARM 系统上运行,例如 NVIDIA 的 Tegra K1 64-bit 和 Tegra Xavie,但是需要设置一个参数 SMO_MODE=none。

众所周知,苹果正在进行将旗下的电脑从 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。

华为开发的中文编译器(华为的x86ARM)(1)

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

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

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

猜您喜欢: