Windows на архитектуре ARM

Windows традиционно работает на компьютерах под управлением процессоров x86 или x64, но в последнее время также работает на устройствах под управлением процессоров Arm.

Устройства с поддержкой arm особенно интересны, так как высокопроизводительный характер архитектуры Arm позволяет этим устройствам обеспечить большую продолжительность работы батареи, обеспечивая высокую производительность. Системы Arm на микросхеме (SoC) часто включают другие ключевые функции, такие как мощный ЦП, GPU, Wi-Fi & мобильных сетей данных, а также единицы нейронного процессора (NTU) для ускорения рабочих нагрузок ИИ.

Создание приложений Для Windows, работающих в Arm

Windows 10 позволяет существующим неизмененному приложению x86 работать на устройствах Arm. Windows 11 добавляет возможность запускать неизмененные приложения x64 для Windows на устройствах Arm! Эта возможность запускать приложения x86 & x64 на устройствах Arm дает конечным пользователям уверенность в том, что большинство существующих средств приложений & будут работать хорошо даже на новых устройствах с arm-powered.

Для оптимальной производительности, скорости реагирования и заряда батареи пользователям потребуются собственные приложения Для Windows arm, что означает, что разработчикам потребуется создавать или переносить собственные приложения Windows arm.

...

Средства разработчика ARM

Корпорация Майкрософт работает над предоставлением собственного набора инструментов разработчика Arm, который включает в себя Visual Studio 2022, VSCode, цепочку инструментов VC++, классическую платформа .NET Framework, современную платформу .NET и Java. Корпорация Майкрософт также работает с несколькими сторонними сторонами и сообществами с открытым кодом для переноса общих средств, сред выполнения, платформ и библиотек для собственного назначения Windows на Arm. Ознакомьтесь с объявлением сборки 2022 об этом комплексном наборе средств, служб и устройств, позволяющих разработчикам создавать и переносить приложения, предназначенные для Arm так же легко, как при выборе x64-разрядных систем.

Службы разработчиков Arm

Многие разработчики сегодня также полагаются на Виртуальные машины и контейнеры. Именно поэтому команда Microsoft Azure недавно объявила о предварительной версии своей новой службы Arm Виртуальные машины и скоро будет предварительно просматривать контейнеры Arm через службы Azure Kubernetes.

Большинство разработчиков также полагаются на автоматизацию сборки и тестирования с помощью непрерывной интеграции и непрерывного развертывания (CI/CD), часто размещенных в облачных службах, таких как Azure DevOps или GitHub. В конце лета 2022 г. корпорация Майкрософт начнет работу по переносу средства выполнения или агента автоматизации CI/CD, доступного Azure DevOps и GitHub. В ближайшее время появятся сведения о том, когда будут доступны службы CI/CD, размещенные в облаке.

Устройства разработчика Arm

Разработчикам нужны устройства Arm, на которых создаются и тестируются собственные приложения Для Windows. Уже доступно несколько устройств под управлением Arm, включая Surface Pro X и устройства от наших партнеров OEM, включая Lenovo ThinkPad X13S. Эти портативные устройства, независимо от того, является ли ноутбук форм-фактор устройством или кабриолетом, обеспечивают большую производительность, срок работы батареи и запустите растущий массив собственных средств разработчика Arm.

Устройство Project Volterra Arm.

Корпорация Майкрософт также работает над Проектом Volterra — захватывающим новым устройством на базе Arm, созданным разработчиками Windows для разработчиков Windows. Так как Project Volterra создан на платформе Snapm Compute Platform и использует мощный модуль нейронной обработки (NPU), это будет отличным устройством для исследователей ИИ и разработчиков, желающих интегрировать ИИ в свои приложения и возможности. Дополнительные сведения о проекте Volterra будут объявлены в конце этого года.

Arm64EC — создание приложений для Windows 11 в Arm

Рисунок Arm64EC.

Arm64EC ("Совместимая с эмуляцией") позволяет постепенно создавать новые приложения или переносить существующие приложения, чтобы по возможности использовать собственную производительность Arm, используя существующие библиотеки кода & x64 до полной миграции. Дополнительные сведения:

Поддержка существующих приложений Windows в Arm

Графический элемент

Windows on Arm запускает собственные приложения Arm, а также многие неизмененные приложения x86 & x64, но для оптимальной производительности и заряда батареи приложения должны создаваться так, чтобы они были встроенными в Arm везде, где это возможно. Приложения для Windows можно создавать с помощью различных средств и технологий, включая собственные приложения Win32 на C/C++, классические платформа .NET Framework WinForms/WPF, современные приложения .NET или MAUI, а также даже приложения, созданные с помощью Java, Python, node и т. д.

Поиск средств для разработки Arm

Графический элемент

Windows предлагает различные инструменты и платформы для поддержки разработки приложений для Arm в Arm.

  • Новая среда Visual Studio в машинном коде Arm включает Visual C++, .NET & платформа .NET Framework и Java и позволит разработчикам создавать и отлаживать приложения Arm на устройствах arm. Дополнительные сведения см. в объявлении блога.
  • Visual Studio Code изначально поддерживает Arm и может быть установлен на устройствах Arm. Расширение VS Code C++ также предлагает технологию IntelliSense на C++ и поддержку сборки для разработки приложений Windows, работающих на устройствах Arm64.
  • .NET 6 уже поддерживает Arm как для собственного выполнения Arm, так и для эмуляции x64. Для разработки приложений .NET, которые изначально работают на устройствах Arm64, рекомендуется установить новый собственный visual Studio 2022 (предварительная версия) Arm и последнюю версию пакета SDK для Arm64 предварительной версии .NET 7 . Дополнительные сведения о поддержке .NET 7 для Arm см. в блоге .NET.
  • Пакет SDK для .NET 6 Arm64: По умолчанию, если вы dotnet run используете приложение .NET 6 с пакетом SDK для Arm64, оно будет работать как Arm64. Средство dotnet-runtimeinfo можно использовать для обнаружения среды, в которой работает .NET. Дополнительные сведения см. в объявлении блога .NET 6 в поддержке Arm64 .

Примечание

Мы используем термин Arm в качестве сокращенного варианта для компьютеров, работающих под управлением классической версии Windows в Arm64 (также называемых процессорами AArch64). Мы используем здесь термин Arm32 в качестве сокращенного фрагмента для 32-разрядной архитектуры Arm (обычно называемой Arm в другой документации). Компьютеры на платформе Arm обеспечивают отличную совместимость приложений и позволяют запускать существующие неизмененные приложения x86 win32. Приложения Arm работают изначально без эмуляции, а приложения x86 amnd x64 работают под эмуляцией на устройствах Arm.

Дополнительные советы по разработке приложений Для Windows, работающих на устройствах Arm

  • Мы рекомендуем использовать MSIX для упаковки приложения для распространения. Дополнительные сведения о том, как MSIX поддерживает Arm и Arm64, см. в разделе "Архитектуры пакетов приложений: Arm и Arm64".

  • Не все проекты Visual Studio настроены для локального запуска проектов при запуске отладки (F5) с устройства Arm. Возможно, потребуется настроить Visual Studio для удаленной отладки, даже если приложение выполняется локально. Дополнительные сведения см. в статье Удаленная отладка.

  • Чтобы найти и установить рекомендуемые пакеты в Visual Studio, посетите страницу загрузки Visual Studio.

    • Для Инструменты удаленной отладки для Visual Studio 2022 прокрутите страницу под разделом "Все загрузки" и разверните раскрывающееся меню "Сервис для Visual Studio 2022". Инструменты удаленной отладки для Visual Studio 2022 будет указан там. Не забудьте проверить переключатель Arm64 , а затем скачать.
    • Для распространяемого Microsoft Visual C++ прокрутите страницу под разделом "Все загрузки" и разверните раскрывающееся меню "Другие инструменты и платформы". Microsoft Visual C++ распространяемый компонент для Visual Studio 2022 будет указан в списке. Не забудьте проверить переключатель Arm64 , а затем скачать.
    • Если вы используете более раннюю версию Visual Studio, щелкните ссылку "Старые загрузки" в нижней части страницы , чтобы найти скачиваемые файлы, связанные с вашей версией Visual Studio.
  • Когда пользователь устанавливает приложение на устройстве Arm из Microsoft Store, Windows 11 автоматически выбирает оптимальную версию доступного приложения. Если вы отправляете в Microsoft Store версии приложения x86, Arm32 и Arm64, операционная система автоматически установит версию приложения Arm64. Если вы отправляете только версии приложения x86 и Arm32, операционная система установит версию Arm32. Если вы отправляете только версию приложения x86, операционная система установит эту версию и запустит ее под эмуляцией.

  • При выборе архитектуры приложения выберите 32-разрядную версию x86, чтобы запустить 32-разрядную версию приложения на компьютере с Windows на arm. Если версия x64 Win32 приложения не работает, большинство приложений будут иметь доступную версию x86.

  • Дополнительные сведения об архитектурах см. в статье Архитектуры пакета приложения.

Дополнительные ресурсы

Внешние ресурсы