Поиск по сайту:

Что такое процессоры 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 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 таким быстрым. Короче говоря, он интенсивно использует специализированный кремний, выполнение вне очереди и имеет гораздо больше декодеров инструкций для поддержки своей скорости.

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

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

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

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