ARM64EC提高了Windows 11 on Arm的运行性能

原文链接:ARM64EC mixes Arm and x64 emulated code in Windows 11 for higher performance on Arm 由Jean-Luc Aufranc撰写。

Windows 已在 Arm 上运行数年,虽在软件支持上有所进步,却依然有定的局限性。通常情况下,其在Arm上模拟的x86/x64代码的运行速度慢于生的ARM32/ARM64代码

在此之前,开发人员只有两种选择:

  1. 使用仿真在 Arm 上运行 x86/x64 应用程序;
  2. 将整个应用程序移植到 Arm。

值得一提的是,微软提出了一个通过ARM64EC(仿真兼容)将 x64 仿真代码和Arm原生代码混合在一起的解决方案为其创造了新选择的可能。

在 Windows 11上使用ARM64EC
在 Windows 11上使用ARM64EC

这意味着开发人员不需要把完整的应用程序移植到 Arm(后续可以根据需要一步一步地移植),而是把精力放在最重要的Arm支持的部分原生代码。

微软解释说:

ARM64EC 是一种适用于 ARM 的 Windows 11 的新应用程序二进制接口 (ABI),它以本机速度运行并可与 x64代码互操作。一个应用程序、一个进程,甚至一个模块都可以根据需要自由混合搭配 ARM64EC代码和 x64代码。应用程序中的 ARM64EC代码将在本机运行,而x64代码在 ARM 的内置仿真可通过 Windows 11 运行。

ARM64EC ABI 遵循 x64 软件约定,包括调用约定、堆栈使用和数据对齐,这使得ARM64EC 和 x64 可以互操作。构建 ARM64EC 应用程序可能包含 x64 代码,但不是必须的,也可以是纯ARM64EC代码,因为 ARM64EC 自己就是一套完整Windows ABI。

微软正在Windows 11中使用 ARM64EC,其中所有二进制文件都是使用 ARM64EC 重新构建过的,以便让 x64 应用程序能够直接运行本机系统代码。微软还将新的 ABI 与 64 位 Office for Arm 一起使用,但不是用于使用原生 Arm 代码编写的主程序,而是用于可以与更新的程序一起正常工作的现有 x64 插件。

因此,与 Windows 10 相比,我预计 Windows 11 on Arm 上运行的大量程序的性能会显著提升。开发人员可以下载最新的 Windows Insider SDK 版本和 Visual Studio Preview( 16.11 预览版本 2 或更高版本)以开始将应用程序移植到 ARM64EC。

分享这篇文章
订阅评论
提醒
0 评论
内联反馈
查看所有评论