В течение нескольких лет операционная система Windows была доступна на устройствах Arm, и хотя поддержка программного обеспечения прогрессировала, всегда были некоторые ограничения, а эмулированный код x86/x64 на Arm обычно работает не так быстро, как собственный код ARM32/ARM64.
До сих пор у разработчиков был выбор: запустить свое приложение x86/x64 на Arm с помощью эмуляции или перенести всё приложение на Arm, но компания Microsoft предложила решение, которое сочетает эмуляцию x64 и собственный Arm с ARM64EC (Emulation Compatible).
Это означает, что разработчикам не нужно будет переносить полное приложение на Arm, а вместо этого они могут сделать это шаг за шагом и сосредоточиться на той части кода, где встроенная поддержка Arm имеет наибольшее значение.
Microsoft объясняет:
ARM64EC – это новый двоичный интерфейс приложения (ABI) для Windows 11 на ARM, который работает с собственной скоростью и совместим с x64. Приложение, процесс или даже модуль могут свободно смешивать и сопоставлять ARM64EC и x64 по мере необходимости. Код ARM64EC в приложении будет работать в исходном формате, в то время как любой код x64 будет работать с использованием Windows 11 со встроенной эмуляцией ARM.
…
ARM64EC ABI следует соглашениям о программном обеспечении x64, включая соглашение о вызовах, использование стека и выравнивание данных, что делает ARM64EC и x64 совместимыми. Приложения, созданные как ARM64EC, могут содержать код x64, но не обязательно, поскольку ARM64EC – это собственный полный первоклассный ABI для Windows.
Microsoft использует ARM64EC в Windows 11, где все двоичные файлы были перестроены с помощью ARM64EC, чтобы приложения x64 могли запускать собственный системный код. Они также используют новый ABI с 64-битным Office for Arm, но не для основной программы, написанной с использованием собственного кода Arm, а для существующих плагинов x64, которые могут нормально работать с обновленной программой.
Поэтому мы ожидаем значительного повышения производительности Windows 11 на Arm по сравнению с Windows 10 для значительного количества программ. Разработчики могут загрузить последнюю сборку Windows Insider SDK и предварительную версию Visual Studio (версия 16.11, предварительная версия 2 или более поздняя), чтобы начать перенос приложений на ARM64EC.
Выражаем свою благодарность источнику из которого взята и переведена статья, сайту cnx-software.com.
Оригинал статьи вы можете прочитать здесь.