Современные технологии активно развиваются, но не смотря на это фундаментальная основа, в виде архитектуры меняется не часто, но с большим скрипом. Так как большинство программ разработаны под использование на старой архитектуре (х86) переписывание такова массива приложений под новую архитектуру (ARM) процесс трудоемкий и не самый дешевый. Эмуляция самое оптимально решением этой задачи. Технология Prism позволяет запускать старые программы написанные для архитектуры х86, на процессорах использующих архитектуру ARM. В этой стать мы разберемся как работает Prism, сравним его с аналогичными решениями от Apple в лице Rosetta 2.
В чем разница?
Архитектуру х86 разработала компания Intel больше пятидесяти лет назад. Название происходит от серии первых процессоров (8086, 80186, 80286) выпущенных с 1978 года. Фундамент оказался на столько удачный, что и по сей день х86 самая популярная и широко используемая архитектура в мире. Они имеет высокую производительность, но при этом и высокое энергопотребление и работает на сложном наборе команд именуемым как CISC (Complex Instruction Set Computing).
С развитием мобильных устройств появилась потребность в энергоэффективных и компактных процессорах. Для решения этой задачи и был разработан ARM. АрхитектураARM позволяет создавать систему на чипе, где процессор, оперативная память и графический ускоритель располагаются на одном чипе. К тому же используется сокращенный набор команд RISC (Reduced Instruction Set Computing). Все эти факторы обеспечили высокую энегроэффективность и компактность, что поспособствовало стремительному распространению среди смартфонов, ноутбуков и устройств умного дома.
Почему разработчики не хотят писать программы вне х86?
Так как архитектура х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-приложениям. Хотя технология еще не идеальна, она открывает новые возможности для развития программного обеспечения и аппаратных платформ.