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


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.

Проверьте, поддерживается ли приложение в Arm: Windows on Arm Ready Software. Этот сайт является источником сведений о совместимости для многих приложений и игр на устройствах Windows, работающих на архитектуре Arm и активно поддерживается.

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

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

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

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

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

  • Copilot+ PCs предлагают модуль нейронной обработки (NPU) и последние возможности искусственного интеллекта и вычислительной емкости с помощью различных производителей устройств. Многие из этих ПК используют процессор Snapdragon® X Series на базе Arm, который обеспечивает 45 трлн операций в секунду (TOPS).

  • Пакет средств разработки Для Windows 2023 (имя кода Project Volterra) больше недоступен для покупки, но он остается жизнеспособным устройством на основе Arm, которое поддерживает разработку Windows, исследование ИИ и тестирование интеграции ИИ с приложениями и интерфейсами.

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

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

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

Поиск средств разработки 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 и Arm64 SDK для .NET 8. Дополнительные сведения о поддержке .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 в двух вариантах: 1. самостоятельно размещаемые агенты которые можно разместить на виртуальной машине Arm или устройстве Arm и 2. Размещенные в GitHub средства выполнения (в настоящее время доступны в частной бета-версии, но общий выпуск ожидается в ближайшее время).
  • Docker Desktop: контейнеры являются популярным целевым объектом развертывания по многим причинам — упрощенный рабочий процесс разработки, изоляция и безопасность, эффективное использование ресурсов, переносимость и воспроизводимость. Docker Desktop теперь работает нативно на 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++ прокрутите страницу ниже раздела "Все загрузки" и разверните раскрывающееся меню "Другие средства и платформы". В списке доступен Microsoft Visual C++ Redistributable для 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.

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

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