В последние годы, с появлением мобильных устройств и компьютеров с низким энергопотреблением, процессоры с архитектурой ARM привлекают все больше и больше внимания. Будучи гигантом в области операционных систем, компания Microsoft запустила системную поддержку Windows для процессоров с архитектурой ARM, разработанных Qualcomm, что, несомненно, вызвало широкий интерес и обсуждение. Итак, как же Microsoft реализует поддержку процессоров ARM? Используется ли нативная поддержка? Есть ли потеря производительности из-за добавленного уровня абстракции? В данной статье эти вопросы подробно рассматриваются.
Архитектура ARM изначально использовалась в основном в мобильных устройствах, таких как смартфоны и планшеты. Благодаря низкому энергопотреблению и высокой производительности он постепенно применяется во всё большем количестве вычислительных устройств. Являясь важным разработчиком процессоров ARM, компания Qualcomm выпустила серию высокопроизводительных процессоров ARM, которые используются во многих современных устройствах.
Операционная система Microsoft Windows уже давно поддерживает в основном архитектуры x86 и x86_64, в которых доминируют Intel и AMD. Чтобы расширить рынок и адаптироваться к потребностям различных устройств, Microsoft начала изучать возможность поддержки архитектуры ARM.
Чтобы добиться поддержки архитектуры ARM, самым важным шагом для Microsoft является разработка встроенной поддержки. Это означает, что большинство функций и служб в системах Windows необходимо перекомпилировать и оптимизировать для работы на архитектуре ARM. Сюда входят не только основные части операционной системы, но и такие компоненты, как драйверы, системные библиотеки и некоторые ключевые приложения пользовательского режима.
Для достижения этой цели Microsoft проделала следующую работу:
Чтобы обеспечить совместимость приложений в переходный период, Microsoft также ввела уровень технологии эмуляции. Этот уровень технологии в основном используется для запуска приложений, написанных для архитектуры x86, на процессорах ARM. Эта технология моделирования включает в себя трансляцию инструкций и двоичное преобразование. Конкретная реализация выглядит следующим образом:
Что касается производительности, введение встроенной поддержки и уровней моделирования будет иметь разную степень влияния.
Вообще говоря, Microsoft реализует поддержку Windows на архитектуре ARM, принимая во внимание как производительность, так и совместимость. Хотя уровень эмуляции приведет к некоторому снижению производительности, это влияние будет постепенно уменьшаться по мере того, как все больше и больше приложений будут перекомпилированы и оптимизированы.
Одной из самых больших проблем для пользователей новой платформы является совместимость существующих приложений. Чтобы гарантировать, что пользователи смогут продолжать использовать свои приложения, Microsoft интегрировала уровень эмуляции x86 в версию Windows ARM. Этот уровень технологии моделирования позволяет подавляющему большинству приложений x86 работать на платформе ARM.
Однако аналоговая технология не идеальна. Некоторые приложения с высокими требованиями к производительности могут испытывать снижение производительности во время моделирования. Кроме того, некоторые базовые приложения, использующие определенные наборы аппаратных инструкций x86, могут не работать должным образом на уровне эмуляции. Microsoft постепенно решает эти проблемы, продолжая оптимизировать уровень моделирования и побуждая разработчиков приложений обновлять версию ARM.
Хотя аналоговая технология может обеспечить лучшую совместимость, она неизбежно приведет к определенной потере производительности. Чтобы свести к минимуму это влияние, Microsoft и Qualcomm совместно работают над оптимизацией производительности несколькими способами:
Поддержка Microsoft архитектуры ARM отмечает важное направление развития в области операционных систем. Поскольку производительность процессоров ARM продолжает улучшаться, а экосистема становится все более полной, производительность Windows на архитектуре ARM в будущем будет становиться все лучше и лучше. В то же время это также предоставляет пользователям больше выбора, позволяя пользователям с разными потребностями наслаждаться удобством системы Windows на различных устройствах.
В будущем Microsoft может дополнительно оптимизировать поддержку архитектуры ARM, снизить потери производительности на уровне моделирования и привлечь больше разработчиков приложений к экосистеме ARM. Ожидается, что с постоянным развитием технологий архитектура ARM будет играть важную роль во многих областях, а версия Windows для ARM также станет важной частью рынка.
Из предыдущего введения мы узнали, как Microsoft реализует поддержку процессоров Qualcomm ARM и влияние этой поддержки на производительность. Благодаря сочетанию встроенной поддержки и уровня моделирования Microsoft не только обеспечивает стабильность и совместимость системы, но также предоставляет пользователям хороший пользовательский опыт. В будущем, благодаря постоянному развитию технологий, Windows будет работать еще лучше на архитектуре ARM, предоставляя пользователям больше удобства и выбора.