Что такое процессоры ARM и смогут ли они заменить x86 (Intel)?

В наши дни все переходят на ARM — Amazon и Apple поставляют собственные процессоры с безумным увеличением производительности, а Microsoft, по слухам, разрабатывает свои собственные. ARM исторически использовалась для мобильных чипов с низким энергопотреблением, так почему именно ARM сокрушает x86 на настольных компьютерах и на серверах?

В наши дни все переходят в ARM

Мир процессоров — это сложная отрасль, и лишь несколько разработок от нескольких компаний могут конкурировать в области высоких показателей производительности. Обычно Intel или AMD владеют короной производительности, причём оба они производят процессоры x86. Но в последнее время процессоры Apple и Amazon на базе ARM начинают конкурировать с Intel (и архитектурой x86).

У Amazon есть свой процессор Graviton2, который не быстрее серверных аналогов Intel, но более экономичен и потребляет меньше энергии. Учитывая то, насколько он был улучшен по сравнению с Graviton1, их следующая итерация, вероятно, будет жёсткой конкуренцией для серверных решений.

Apple вышла из общего ряда со своим первым немобильным процессором, процессором Apple Silicon M1, который работает быстрее, чем настольные процессоры Intel, и почти так же быстр, как серия AMD Ryzen 5000, нынешняя вершина производительности. Это специальный Apple silicon, который делает Apple Macbook самыми быстрыми ноутбуками в мире, к большому огорчению энтузиастов ПК (включая меня).

Фактически, они настолько далеко впереди в области портативных компьютеров, что Windows на Macbook M1 работает быстрее, чем на Surface Pro X, несмотря на то, что Windows на ARM работает только через эмулятор. И, как будто это было недостаточно унизительно, он абсолютно сокрушает его с оценкой одноядерного процессора Geekbench 1390 по сравнению с 802 Surface, что смехотворно плохо для сравнения. M1 очень быстр.

Ходят слухи, что Microsoft также разрабатывает собственный процессор ARM, и хотя этот слух исходит из серверного пространства Azure, они, скорее всего, будут использовать тот же чип для Surface, если они смогут сравниться с производительностью Apple.

В чем разница между ARM и x86?

В конце концов, между ARM и x86 не так уж много разницы. Вы по-прежнему можете запустить Google Chrome и смотреть YouTube на любом из них. Фактически, вы можете делать это прямо сейчас, поскольку почти все Android-устройства и каждый iPhone используют процессор на базе ARM.

Самая большая разница для большинства людей состоит в том, что старые приложения, предназначенные для x86, также необходимо будет перекомпилировать для работы на ARM. В некоторых случаях это просто, но не всё будет поддерживаться, особенно устаревшее программное обеспечение. Однако даже это обычно может выполняться через эмуляцию x86, которую Windows начинает поддерживать.

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

Но за счёт чего ARM работает быстрее?

Чтобы ответить на этот вопрос, нам нужно глубже понять, как процессоры работают у себя внутри, «под капотом».

ARM и x86 — это наборы команд, также известные как архитектуры, которые в основном представляют собой список «программ» микрокода, которые поддерживает ЦП. Вот почему вам не нужно беспокоиться о запуске приложения Windows на конкретном процессоре AMD или Intel; это оба процессора x86, и, хотя их конструкция отличается (и работает по-разному), они оба поддерживают одни и те же инструкции. Это означает, что любая программа, скомпилированная для x86, в целом будет поддерживать оба процессора.

Процессоры в основном выполняют операции последовательно, как машина, получившая список задач. Каждая инструкция известна как код операции, а в архитектурах, таких как x86, есть множество кодов операций, особенно если учесть, что они существуют уже несколько десятилетий. Из-за этой сложности x86 известен как «комплексный набор инструкций» или CISC.

Архитектуры CISC обычно используют подход к проектированию, заключающийся в упаковке большого количества вещей в одну инструкцию. Например, инструкция умножения может перемещать данные из банка памяти в регистр, затем выполнять шаги умножения и перемешивать результаты в памяти. Всё в одной инструкции.

Однако под капотом эта инструкция распаковывается во множество «микроопераций», которые выполняет ЦП. Преимущество CISC — это использование памяти, и, поскольку в те времена это было дорого, CISC был лучше.

Однако это больше не является узким местом, и здесь в игру вступает RISC. RISC, или сокращённый набор инструкций, в основном устраняет сложные, состоящие из нескольких частей инструкции. Каждая инструкция в большинстве случаев может выполняться за один такт, хотя многие длительные операции должны ждать результатов из других областей ЦП или памяти.

Хотя это похоже на откат назад, это имеет огромное значение для дизайна ЦП. ЦП должны загружать все свои инструкции из ОЗУ и выполнять их как можно быстрее. Оказывается, это намного проще сделать, когда у вас много простых инструкций, а не много сложных. ЦП работает быстрее, когда буфер инструкций может быть заполнен, а это намного проще сделать, когда инструкции меньше и их легче обрабатывать.

RISC также имеет преимущество так называемого исполнения вне очереди, или OoOE. По сути, внутри ЦП есть блок, который переупорядочивает и оптимизирует поступающие в него инструкции. Например, если приложению необходимо вычислить две вещи, но они не зависят друг от друга, ЦП может выполнять обе функции параллельно. Обычно разработчикам очень сложно писать параллельный код, но на самых низких уровнях ЦП он может использовать многозадачность для ускорения работы. Чип Apple M1 очень эффективно использует OoOE.

Если вас интересует внутреннее устройство, вам следует прочитать эту фантастическую статью Эрика Энгхейма о том, что делает чип Apple M1 таким быстрым. Короче говоря, он интенсивно использует Apple silicon, выполнение вне очереди и имеет гораздо больше декодеров команд для поддержки его скорости.

Собирается ли ARM заменить x86?

Честный ответ, наверное. Intel уже много лет чувствует конец закона Мура, и, хотя AMD смогла совершить скачок в производительности в последние годы, они не далеко впереди.

Это не означает, что x86 вымрет в ближайшее время, но ясно, что ARM имеет больший потенциал, чем просто мобильная архитектура — клеймо, которое больше не действует, учитывая текущее направление развития отрасли. Преимущества архитектур RISC очевидны, и с учётом того, насколько чип Apple M1 уже улучшился, будущее отрасли выглядит многообещающим.

Кроме того, ARM — не единственная существующая архитектура RISC. Он по-прежнему проприетарный, хотя ARM лицензирует свои разработки сторонним разработчикам, таким как Qualcomm, Samsung и Apple. RISC-V имеет открытый исходный код и не менее многообещающий. Это стандартизованная архитектура с набором инструкций, оставляющая точную реализацию на усмотрение производителя. Если отрасль в целом будет двигаться к RISC, будут доступны реализации с открытым и закрытым исходным кодом.


Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

wp-puzzle.com logo