Поделиться через


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

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

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

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

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

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

Виртуальные машины

Вы можете создавать и развертывать виртуальные машины Windows 11 Arm64 с помощью процессоров Ampere Altra Arm в Azure. Узнайте, как описано в этой статье краткого руководства.

Дополнительные сведения об использовании Windows в Arm Виртуальные машины:

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

Разработчики нуждаются в устройствах Arm, на которых необходимо создавать и тестировать собственные приложения Windows Arm. Несколько устройств на основе Arm уже доступны от партнеров Майкрософт. Эти портативные устройства, независимо от того, имеет ли ноутбук форм-фактор устройство или преобразуемый планшет, обеспечивают большую производительность, время работы батареи и запускают растущий массив средств разработчика Arm.

Пакет средств разработки Для Windows 2023 (название кода Project Volterra) — это последнее устройство Arm, созданное для поддержки разработчиков Windows, исследователей ИИ и разработчиков, желающих интегрировать ИИ в свои приложения и возможности.

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

Рисунок типов приложений.

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

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

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

Корпорация Майкрософт постоянно предоставляет обновления набора инструментов разработчика Arm для создания и порта приложений, предназначенных для устройств с windows ARM, так же легко, как при выборе x64. Поддержка разработки приложений для Arm на Arm.

  • Visual Studio на основе Arm включает Visual C++, .NET и платформа .NET Framework и Java и позволяет разработчикам создавать и отлаживать приложения Arm на устройствах на основе Arm. Дополнительные сведения: Arm64 Visual Studio официально здесь!( Оптимизация ARM64 за ноябрь 2022 г. в Visual Studio 2022 17.7 (сентябрь 2023 г.)
  • Visual Studio Code изначально поддерживает Arm и может быть установлен на устройствах Arm. Расширение VS Code C++ также предлагает intelliSense C++ и поддержку сборки для разработки приложений Windows, работающих на устройствах Arm64.
  • .NET 6+ уже поддерживает Arm как для машинного выполнения Arm, так и для эмуляции x64. Для разработки приложений .NET, работающих на устройствах Arm64, рекомендуется установить новый собственный пакет Visual Studio 2022 17.4 и пакет SDK для .NET 8 Arm64. Дополнительные сведения о поддержке .NET 8 для Arm и улучшения производительности Arm64 в блоге .NET: улучшения производительности Arm64 в .NET 8 (октябрь 2023 г.).
  • Пакет SDK для .NET 6 Arm64: по умолчанию, если приложение dotnet run .NET 6 с пакетом SDK Arm64 будет работать как Arm64. Это dotnet-runtimeinfo средство можно использовать для обнаружения среды, в которой работает .NET. Дополнительные сведения см. в блоге .NET 6 в службе поддержки Arm64.
  • Цепочка инструментов VC++ (Разработчик Arm) — это цепочка инструментов GNU для выпусков архитектуры Arm, которая позволяет партнерам, разработчикам и сообществу использовать новые функции из последней архитектуры Arm и из проектов с открытым исходным кодом GCC, Binutils, glibc, Newlib и GDB.
  • Поддержка Java для Arm в OpenJDK: объявление OpenJDK для Windows в ARM (июнь 2020 г.)
  • GitHub Actions: GitHub Actions, обработчик рабочих процессов CI/CD GitHub является неотъемлемой частью рабочих процессов многих разработчиков, они используют это для непрерывной сборки, тестирования и развертывания приложений. GitHub Actions теперь доступен для Windows on Arm в 2 вариантах: 1. локальные средства выполнения, которые могут размещаться на виртуальной машине Arm или на устройстве Arm и 2. Размещенные в GitHub средства выполнения (в настоящее время доступны в частной бета-версии, но общий выпуск ожидается в ближайшее время).
  • Docker Desktop: Контейнеры являются довольно популярным целевым объектом развертывания по многим причинам — упрощенный рабочий процесс разработки, изоляция и безопасность, эффективное использование ресурсов, переносимость и воспроизводимость. Рабочий стол Docker теперь работает в Windows в Arm в собственном коде.

Примечание.

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

Arm64EC — справка по обновлению приложений Windows для запуска в Arm

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

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

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

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

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

Служба рекомендаций по Arm Для обеспечения приложений

Хотя наше руководство по добавлению поддержки Arm в приложение Windows описывает, как создать оптимизированную для Arm версию приложения. Служба рекомендаций по arm для обеспечения поддержки приложений доступна, если вы застряли. Эта служба в дополнение к нашему существующему обещанию: ваши приложения будут работать в Windows на Arm, и при возникновении каких-либо проблем корпорация Майкрософт поможет вам устранить их. Подробнее.

Зарегистрируйтесь в службе рекомендаций Windows Arm.

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

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