Arm vs x86: объяснены наборы инструкций, архитектура и другие различия
Android способен работать на процессорах трех разных типов: Arm, Intel и MIPS. Первая – это сегодня повсеместно распространенная архитектура после того, как Intel отказалась от своих процессоров для мобильных телефонов, в то время как процессоры MIPS для телефонов не использовались годами. Arm – это архитектура процессора, используемая всеми современными смартфонами в экосистемах Android и Apple. Процессоры Arm также выходят на рынок ПК через Windows on Arm и будущие пользовательские процессоры Apple для Mac. С приближением войны между процессорами Arm и Intel, вот и все, что вам нужно знать о Arm vs x86.
Объяснение архитектуры процессора
Центральный процессор (ЦП) – это «мозг» вашего устройства, но он не совсем умный. ЦП работает только тогда, когда даны очень конкретные инструкции – соответственно называемые набором инструкций – которые говорят процессору перемещать данные между регистрами и памятью или выполнять вычисления с использованием определенной единицы выполнения (такой как умножение или вычитание). Уникальные аппаратные блоки процессора требуют разных инструкций. Они имеют тенденцию масштабироваться с более сложными и мощными процессорами. Требуемые инструкции могут также помочь в разработке аппаратного обеспечения, как мы увидим через некоторое время.
Что такое SoC? Все, что нужно знать о чипсетах для смартфонов
Приложения, которые запускаются на вашем телефоне, не написаны в инструкциях процессора; это было бы безумием с сегодняшними крупными кроссплатформенными приложениями, которые работают на разных чипах. Вместо этого приложения, написанные на различных языках программирования более высокого уровня (например, Java или C ++), подобраны для определенных наборов команд, чтобы они правильно работали на процессорах Arm или x86. Эти инструкции дополнительно декодируются в микрокод-процессоры внутри ЦПУ, что требует кремниевого пространства и питания. Если вам нужен процессор с наименьшим энергопотреблением, первостепенное значение имеет простота набора команд. Однако более высокая производительность может быть получена от более сложного оборудования и инструкций за счет мощности. В этом принципиальное отличие подходов Arm и Intel к проектированию процессоров.
x86 традиционно нацелена на пиковую производительность, энергоэффективность Arm
Arm основывается на RISC (вычисление с сокращенным набором инструкций), а Intel (x86) – CISC (вычисления на основе сложных инструкций). Команды процессора Arm достаточно атомарны, с очень тесной корреляцией между количеством команд и микрооперациями. CISC, для сравнения, предлагает гораздо больше инструкций, многие из которых выполняют несколько операций (таких как оптимизированная математика и перемещение данных). Это приводит к лучшей производительности, но большему энергопотреблению, декодирующему эти сложные инструкции.
Эта связь между инструкциями и разработкой аппаратного обеспечения процессора – то, что составляет архитектуру процессора. Таким образом, архитектуры ЦП могут быть разработаны для различных целей, таких как экстремальное сокращение числа, низкое энергопотребление или минимальная площадь кремния. Это ключевое отличие, если смотреть на Arm vs x86 с точки зрения процессоров, поскольку первый основан на более низкой мощности, наборе команд и аппаратном обеспечении.
Современные 64-битные архитектуры процессоров
Сегодня 64-разрядные архитектуры широко распространены на смартфонах и ПК, но это не всегда так. Телефоны не переключались до 2012 года, примерно через десять лет после ПК. В двух словах, 64-разрядные вычисления используют регистры и адреса памяти, достаточно большие, чтобы использовать типы данных длиной 64 бита (1 и 0). Помимо совместимого оборудования и инструкций, вам также потребуется 64-разрядная операционная система, например, Android.
Ветераны индустрии могут вспомнить шумиху, когда Apple представила свой первый 64-разрядный процессор, опередив конкурентов Android. Переход на 64-разрядную версию не изменил повседневных вычислений. Однако важно использовать математическую эффективность при использовании высокоточных чисел с плавающей точкой. 64-разрядные регистры также улучшают точность 3D-рендеринга, скорость шифрования и упрощают адресацию более 4 ГБ ОЗУ.
Сегодня обе архитектуры поддерживают 64-битную архитектуру, но в мобильных телефонах она появилась совсем недавно.
ПК перешли на 64-разрядную версию задолго до смартфонов, но не Intel разработала современную архитектуру x86-64 (также известную как x64). Эта награда принадлежит анонсу AMD от 1999 года, который модернизировал существующую архитектуру Intel x86. Альтернативная архитектура Intel IA64 Itanium отошла на второй план.
Arm представила свою ARMv8 64-битную архитектуру в 2011 году. Вместо того чтобы расширять свой 32-битный набор команд, Arm предлагает чистую 64-битную реализацию. Для этого в архитектуре ARMv8 используются два состояния выполнения: AArch32 и AArch64. Как видно из названий, один предназначен для запуска 32-разрядного кода, а другой – для 64-разрядного. Прелесть дизайна ARM заключается в том, что процессор может легко переключаться из одного режима в другой во время его нормального выполнения. Это означает, что декодер для 64-битных инструкций – это новый дизайн, которому не нужно поддерживать совместимость с 32-битной эпохой, однако процессор в целом остается обратно совместимым.
Подробнее: Arm Cortex-X1 начинает борьбу с мощными процессорами Apple
Гетерогенный компьютер Arm выиграл у мобильного
Обсуждаемые выше архитектурные различия частично объясняют текущие успехи и проблемы, с которыми сталкиваются два чиповых бегемота. Подход Arm с низким энергопотреблением идеально подходит для мобильных устройств, требующих 3,5 Вт тепловой мощности (TDP), но при этом производительность возрастает в соответствии с чипами Intel для ноутбуков. В то же время, Intel Core i7 мощностью 100 Вт TDP выигрывает у серверов и высокопроизводительных настольных ПК, но исторически изо всех сил старается снизить мощность до 5 Вт. Смотрите сомнительный состав Atom.
Конечно, мы не должны забывать о роли, которую кремниевые производственные процессы сыграли в значительном повышении энергоэффективности за последнее десятилетие. Вообще говоря, меньшие процессорные транзисторы потребляют меньше энергии. Intel застряла, пытаясь отойти от своего собственного 14-нм технологического процесса 2014 года. За это время наборы микросхем для смартфонов изменились с 20 нм до 14, 10, а теперь и 7 нм, а в 2021 г. ожидается 5 нм. Это было достигнуто просто за счет усиления конкуренции между Samsung и литейным цехом TSMC.
Тем не менее, одна уникальная особенность архитектуры Arm особенно полезна для поддержания низкого TDP для мобильных приложений – гетерогенные вычисления. Идея достаточно проста: создать архитектуру, которая позволяет различным частям ЦП (с точки зрения производительности и мощности) работать вместе для повышения эффективности.
Способность Arm распределять рабочие нагрузки между высокопроизводительными и низкоэффективными ядрами ЦП является благом для энергоэффективности
Первый удар Arm по этой идее был большим. Немного в 2011 году с большим ядром Cortex-A15 и маленьким ядром Cortex-A7. Идея использования больших процессорных ядер нестандартного исполнения для требовательных приложений и энергосберегающих процессорных конструкций для фоновых задач – это то, что пользователи смартфонов считают само собой разумеющимся сегодня, но потребовалось несколько попыток сгладить формулу. Arm построил эту идею на DynamIQ и архитектуре ARMAv8.2 в 2017 году, позволяя разным процессорам размещаться в одном кластере, разделяя ресурсы памяти для гораздо более эффективной обработки. DynamIQ также позволяет использовать процессор 2 + 6, который все чаще используется в чипах среднего класса.
Связанный: Одноядерные против многоядерных процессоров: что лучше для смартфонов?
Конкурентные чипы Intel Atom без гетерогенных вычислений не могут сравниться с балансом производительности и эффективности Arm. До 2020 года для проектов Intel Foveros, Embedded Multi-Die Interconnect Bridge (EMIB) и Hybrid Technolgy была разработана конкурирующая конструкция чипа – 10-нм Lakefield. Lakefield сочетает в себе одно высокопроизводительное ядро Sunny Cove с четырьмя энергосберегающими ядрами Tremont, а также графические и коммуникационные функции. Однако даже этот пакет предназначен для подключенных ноутбуков с 7 Вт TDP, который все еще слишком высок для смартфонов.
Intel Lakefield с гибридной технологией использует принципы проектирования, аналогичные Arm's big.LITTLE
Сегодня Arm vs x86 все чаще сражается в сегменте ноутбуков TDP мощностью менее 10 Вт, где Intel сокращает масштабы, а Arm – все более успешно. Новости Apple о том, что она перейдет на собственные специализированные чипы Arm для Mac, являются ярким примером растущего роста производительности архитектуры Arm, отчасти благодаря гетерогенным вычислениям наряду с пользовательскими оптимизациями, сделанными Apple.
Custom Arm ядра и наборы инструкций
Еще одно важное различие между Arm и Intel заключается в том, что последний контролирует весь процесс от начала до конца и напрямую продает свои чипы. Arm просто продает лицензии. Intel сохраняет свою архитектуру, дизайн ЦП и даже производство полностью внутри компании. Arm, для сравнения, предлагает разнообразные продукты партнерам, таким как Apple, Samsung и Qualcomm. Они варьируются от готовых конструкций ядер ЦП, таких как Cortex-A78, до конструкций, созданных в партнерстве с помощью программы Arm CXC, и лицензий на пользовательскую архитектуру, которые позволяют таким компаниям, как Apple и Samsung, создавать собственные ядра ЦП и даже вносить изменения в набор инструкций.
Далее: отказ от пользовательских процессоров – правильный вызов для Exynos от Samsung
Создание пользовательских процессоров является дорогостоящим и сложным процессом, но правильное выполнение которого может привести к мощным результатам. Процессоры Apple демонстрируют, как специальное оборудование и инструкции значительно повышают производительность Arm по сравнению с мейнстримом x86. Хотя ядра Samsung Mongoose были более спорными.
На момент написания этой статьи самый мощный в мире суперкомпьютер Fugaku работал на Arm
Архитектура Intel остается впереди с точки зрения сырой производительности в потребительском аппаратном пространстве. Но сейчас Arm очень конкурентоспособна в сегментах продукции, где высокая производительность и энергоэффективность остаются ключевыми, включая рынок серверов. На момент написания статьи самый мощный суперкомпьютер в мире впервые работал на ядрах CPU Arm. Его A64FX SoC разработан Fujitsu и впервые работает с архитектурой Armv8-A SVE.
Совместимость программного обеспечения
Как мы упоминали ранее, приложения и программное обеспечение должны быть скомпилированы для архитектуры ЦП, на которой они работают. Исторический брак между процессорами и экосистемами (такими как Android на Arm и Windows на x86) означал, что совместимость никогда не была проблемой, поскольку приложениям не нужно было работать на нескольких платформах и архитектурах. Однако рост числа кроссплатформенных приложений и операционных систем, работающих на нескольких архитектурах ЦП, меняет этот ландшафт.
Apple Mac на базе Arm от Apple, Chrome OS от Google и Windows on Arm от Microsoft – все это современные примеры, когда программное обеспечение должно работать на архитектурах Arm и Intel. Компиляция собственного программного обеспечения для обоих – это вариант для новых приложений и разработчиков, желающих инвестировать в перекомпиляцию. Чтобы заполнить пробелы, эти платформы также полагаются на эмуляцию кода. Другими словами, перевод кода, скомпилированного для одной архитектуры ЦП, запускается на другой. Это менее эффективно и снижает производительность по сравнению с нативными приложениями, но в настоящее время возможна хорошая эмуляция для обеспечения работы приложений.
После многих лет разработки эмуляция Windows on Arm была в довольно хорошем состоянии для большинства приложений. Приложения для Android по большей части работают на Intel Chromebook. Придется подождать и посмотреть, запустятся ли Arm Macbooks.
Arm vs x86: последнее слово
За последнее десятилетие соперничества Arm vs x86 Arm одержал победу в качестве выбора для устройств с низким энергопотреблением, таких как смартфоны. Архитектура теперь также делает успехи в ноутбуках и других устройствах, где требуется повышенная энергоэффективность. Несмотря на потери в телефонах, усилия Intel по снижению энергопотребления также улучшились за эти годы, и теперь Lakefield делится гораздо больше общего с традиционными процессорами Arm, которые можно найти в телефонах.
Тем не менее, Arm и x86 заметно отличаются от инженерной точки зрения и имеют свои сильные и слабые стороны. Тем не менее, сценарии потребительского использования в этих двух областях становятся размытыми, так как экосистемы все больше поддерживают обе архитектуры. И все же, несмотря на то, что в сравнении Arm с x86 есть кроссовер, именно Arm в обозримом будущем останется предпочтительной архитектурой для индустрии смартфонов.
Источник записи: https://www.androidauthority.com