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 Виртуальные машины:
- Вопросы и ответы о Windows на виртуальной машине Arm
- Azure Виртуальные машины с процессорами на основе Ampere Altra Arm ( общедоступная версия)
- Развертывание кластера Служба Azure Kubernetes (AKS) на основе Arm с помощью Terraform — Центр разработчиков ARM
- Дополнительные сведения о автоматизации сборки и тестирования с помощью непрерывной интеграции и непрерывного развертывания (CI/CD), размещенной в облаке, например Azure DevOps или GitHub.
Устройства разработчика Arm
Число вариантов, доступных разработчикам, которые хотят создавать и тестировать собственные приложения Arm в Windows, растет.
Copilot+ PCs предлагают модуль нейронной обработки (NPU) и последние в функциях ИИ и вычислительной емкости через различные производители устройств. Многие из которых основаны на процессоре Оснастки X серии Arm®, предлагая 45 трлн операций в секунду (TOPS) для работы.
Пакет разработки Для 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 ("Совместимость с эмуляцией") позволяет постепенно создавать новые приложения или переносить существующие приложения, чтобы воспользоваться собственной производительностью 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.
Дополнительные ресурсы
- Сатя Наделла в сборке 2022 года ключевое слово "Project Volterra"
- Как работает эмуляция x86 в Arm
- Устранение неполадок классических приложений x86
- Устранение неполадок приложений Arm UWP
- Средство устранения неполадок совместимости программ в Arm
- Создание драйверов Arm64 с помощью WDK: инструкции по созданию драйвера Arm64.
- Отладка приложений x86 в Arm | Руководство по отладке приложений x86 в Arm.
- Видео: создание приложений Arm64 Win32 C++
- Windows 10 в Arm для разработчиков (видеотрансляции Microsoft Build 2018)
- Блог: Первоначальное объявление о поддержке Windows 10 для разработки Arm
- Сообщите об ошибке
Внешние ресурсы
Windows on Arm