Найти в Дзене

Prism: эмуляция х86 на ARM для PC - костыль покалений

Современные технологии активно развиваются, но не смотря на это фундаментальная основа, в виде архитектуры меняется не часто, но с большим скрипом. Так как большинство программ разработаны под использование на старой архитектуре (х86) переписывание такова массива приложений под новую архитектуру (ARM) процесс трудоемкий и не самый дешевый. Эмуляция самое оптимально решением этой задачи. Технология Prism позволяет запускать старые программы написанные для архитектуры х86, на процессорах использующих архитектуру ARM. В этой стать мы разберемся как работает Prism, сравним его с аналогичными решениями от Apple в лице Rosetta 2. Архитектуру х86 разработала компания Intel больше пятидесяти лет назад. Название происходит от серии первых процессоров (8086, 80186, 80286) выпущенных с 1978 года. Фундамент оказался на столько удачный, что и по сей день х86 самая популярная и широко используемая архитектура в мире. Они имеет высокую производительность, но при этом и высокое энергопотребление и раб
Оглавление

Современные технологии активно развиваются, но не смотря на это фундаментальная основа, в виде архитектуры меняется не часто, но с большим скрипом. Так как большинство программ разработаны под использование на старой архитектуре (х86) переписывание такова массива приложений под новую архитектуру (ARM) процесс трудоемкий и не самый дешевый. Эмуляция самое оптимально решением этой задачи. Технология Prism позволяет запускать старые программы написанные для архитектуры х86, на процессорах использующих архитектуру ARM. В этой стать мы разберемся как работает Prism, сравним его с аналогичными решениями от Apple в лице Rosetta 2.

В чем разница?

-2

Архитектуру х86 разработала компания Intel больше пятидесяти лет назад. Название происходит от серии первых процессоров (8086, 80186, 80286) выпущенных с 1978 года. Фундамент оказался на столько удачный, что и по сей день х86 самая популярная и широко используемая архитектура в мире. Они имеет высокую производительность, но при этом и высокое энергопотребление и работает на сложном наборе команд именуемым как CISC (Complex Instruction Set Computing).

-3

С развитием мобильных устройств появилась потребность в энергоэффективных и компактных процессорах. Для решения этой задачи и был разработан ARM. АрхитектураARM позволяет создавать систему на чипе, где процессор, оперативная память и графический ускоритель располагаются на одном чипе. К тому же используется сокращенный набор команд RISC (Reduced Instruction Set Computing). Все эти факторы обеспечили высокую энегроэффективность и компактность, что поспособствовало стремительному распространению среди смартфонов, ноутбуков и устройств умного дома.

Почему разработчики не хотят писать программы вне х86?

-4

Так как архитектура х86 доминирует на рынке персональных компьютеров и серверов разработчики ориентируются именно на нее. К этому добавляется огромное количество старых программ, переписывание кода которых будет стоить значительных трудозатрат, в которых будет мало экономического смысла.

К тому же функциональные инструменты для разработки софта лучше развиты у х86 чем у ARM, связанно это с долгожительством первой архитектуры.

Что такое Prism и как он работает?

Prism – это эмулятор, который позволяет выполнять инструкции х86 на процессорах с архитектурой ARM. В случае с Prism, ARM-процессор имитирует (эмулирует)работу х86-процессора, позволяязапускать старые приложения на ARM-устройствах.

Принципы работы Prism:

Преобразования инструкций х86 в эквивалентные инструкции ARM. Процесс достаточно сложный так как подходы к выполнению задач у х86 иARM разные.

Для минимизации потерь производительности, эмулятор Prism использует кэширование обработанных инструкций и предсказывает выполнения основываясь на предыдущем опыте.

Интеграция Prism в операционные системы так же обеспечивает корректную работу эмулированых приложений и дает им широкий доступ к системным ресурсам и переферийным устройствам.

Для чего нужен Prism?

ARM-процессоры становятся все более популярными в мобильном сегментеблагодаря своей энергоэффективности и производительности. Однако большинство программного обеспечения до сих пор написано для х86. Prism позволяет ускорить переход на ARM, обеспечивая совместимость с существующими приложениями.

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

Игры и приложения которые требуют высокой производительности требуют оптимизации под конкретную архитектуру. С помощью Prism будет возможность запускать их на ARM процессорах, но производительность будет хуже.

Сравнение с Rosetta 2

Rosetta 2 — это аналогичная технология от Apple, которая позволяет запускать приложения х86 на компьютерами с процессорами Apple Silicon. В отличии от Prism, Rosetta 2 использует эмуляцию совместно с трансляцией инструкций на этапе установки приложения, что значительно повышает производительность.

Основные отличия:

  • Rosetta 2 работает быстрее благодаря предварительной трансляции инструкций.
  • Глубокая интеграция в macOS для обеспечения высокой стабильности и лучшей совместимости.
  • Rosetta 2 доступна только устройствам от Apple, в отличии от Prism который может использоваться на различных ARM-устройствах.

Когда был представлен Prism, и как долго он будет актуален?

Prism был представлен в 2023 году как ответ на спрос на совместимость старых программ и новой архитектуры. Если рассматривать текущую тенденцию перехода персональных компьютеров и серверов на архитектуру ARM, то Prism будет оставаться актуальным как минимум ближайшие 5­–10 лет. Эта тенденция будет спадать преувеличении числа приложений, нативно написанных для ARM.

Оправданность использования Prism для различных задач

Подходит для рабочих программ, браузеров и иных приложений, не требующих высокой производительности. Однако требовательное к ресурсам программное обеспечение, такое как графические редакторы или среды разработки, может работать с задержками.

Хотя многие старые игры запускаются без проблем, современные AAA-игры могут работать с низкой производительностью из-за высокой нагрузки на центральный и графический процессор. Поэтому для данных задач использование Prism подходит ограниченно.

Софт для обработки аудио и видеоконтента будет работать с заметным снижением производительности. К счастью большинство таких программ имеют нативную версию или аналоги под ARM.

Заключение

Prism – это важный шаг в направлении кросс-архитектурной совместимости, который позволяет пользователям плавно переходить на ARM-устройства с возможностью пользоваться х86-приложениям. Хотя технология еще не идеальна, она открывает новые возможности для развития программного обеспечения и аппаратных платформ.