Сравнение производительности процессоров ARM и x86

Обновлено: 21.11.2024

Поскольку высокопроизводительные процессоры на базе Arm распространяются не только на мобильные устройства, разработчикам важно понимать характеристики производительности Arm для распространенных стеков программного обеспечения на стороне сервера. В этой статье мы будем использовать инстансы AWS Arm (Graviton2) и x86_64 (Intel) EC2 для оценки вычислительной производительности в различных средах выполнения программного обеспечения, включая Docker, Node.js и WebAssembly. Наш вывод состоит в том, что Arm более рентабельна в облаке, особенно с упрощенными средами выполнения, близкими к базовой операционной системе.

Фон

В недавней исследовательской статье, опубликованной в журнале Science, профессора Массачусетского технологического института Лейзерсон и Томпсон и др. обсудили одну из самых важных проблем современности в компьютерной инженерии — отмену закона Мура. Компьютерное оборудование, такое как ЦП и ГП, достигло квантового предела и больше не может быть сделано намного быстрее или меньше. Это ставит под угрозу 40 лет продуктивности и экономического роста, основанных на технологических инновациях. Закончилась ли технологическая революция, какой мы ее знаем? Тем не менее, в документе с оптимизмом смотрят на наше технологическое будущее.

Авторы предполагают, что улучшения программного обеспечения могут заменить закон Мура и стимулировать рост производительности в ближайшие годы. Чтобы проиллюстрировать этот момент, они отметили, что переписывание алгоритмов машинного обучения с Python на C/нативный код может повысить производительность в 60 000 раз!

Похожий спонсируемый контент

Связанный спонсор

Архитектура перехода к облачным технологиям с помощью AWS
Узнайте, как создавать облачные приложения, чтобы повысить скорость и упростить их с помощью методов DevOps. Зарегистрируйтесь сейчас!

Однако мы не можем просто отказаться от современных сред выполнения программного обеспечения и производительности разработчиков, которые они обеспечивают, вернуться к временам, предшествующим Java, 1990-м годам, и запускать каждое приложение в скомпилированном машинном коде. Современные разработчики полагаются на высокоуровневые языки программирования, инструменты и особенно безопасные для памяти и переносимые среды выполнения для создания высококачественных программных продуктов.

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

В этой статье мы оценим прирост производительности за счет использования облегченной и эффективной программной и аппаратной инфраструктуры в сценариях облачных вычислений. В частности, мы запускаем несколько облегченных сред выполнения программного обеспечения как на энергоэффективных процессорах на базе Arm (AWS Graviton2), так и на процессорах Intel x86.

В рамках данного исследования мы сосредоточимся на производительности однопоточной обработки. Большинство фреймворков веб-приложений по умолчанию запускают «один поток на запрос». С точки зрения пользователя, производительность веб-сервиса, скорее всего, будет зависеть от того, насколько быстро может работать один ЦП. Это преднамеренно простой тестовый пример, чтобы проиллюстрировать исходную производительность.

Мы выбрали следующие контрольные показатели.

  • Следующие два теста оценивают производительность при холодном запуске.
    • Тест nop запускает среду приложения и завершает работу.
    • Тест cat-sync открывает локальный файл, записывает в него 128 КБ текста и завершает работу. Он оценивает производительность при выполнении вызовов операционной системы.
    • nbody, повторенный 50 миллионов раз, представляет собой симуляцию n тел.
    • Фаннкуч-редукс, повторенный 12 раз, измеряет индексированный доступ к целочисленной последовательности.
    • Процедура Мандельброта, повторенная 15000 раз, предназначена для создания переносимого файла растрового изображения множества Мандельброта.
    • Двоичные деревья, повторяющиеся 21 раз, выделяют и освобождают большое количество двоичных деревьев.

    Далее давайте посмотрим на точную настройку теста и некоторые показатели производительности! Исходный код и сценарии всех тестов доступны на GitHub.

    Меньше раздувания программного обеспечения

    Чтобы обеспечить безопасность и безопасность программного обеспечения, а также кросс-платформенную переносимость, мы проводим эталонные тесты в контейнерах и виртуальных машинах. Одна из самых популярных сред выполнения контейнеров — Docker, которая уже оптимизирована для повышения производительности. Чтобы оценить производительность стека программного обеспечения, мы выполнили следующие тестовые примеры на инстансе AWS t3.small с физическим ядром ЦП, состоящим из 2 виртуальных ЦП. Мы простояли инстанс достаточно долго, чтобы накопить достаточное количество кредитов ЦП, чтобы выдержать 100 процентную загрузку ЦП во время тестов производительности.

    Безопасность на основе возможностей требует, чтобы приложение обладало маркерами авторизации и предъявляло их для доступа к защищенным ресурсам. В случае SSVM приложение должно явно объявлять ресурсы, такие как папки файловой системы, к которым ему требуется доступ во время запуска. Этот дизайн называется системным интерфейсом WebAssembly (WASI).

    Наш программный стек для тестов выглядит следующим образом.

    • Amazon Linux 2, работающий на инстансах EC2
    • Докер 19.03.6-CE
    • Ubuntu Server 20.04 LTS внутри Docker
    • Node.js v14.7.0 внутри Docker
    • Нативные исполняемые файлы компилируются с помощью набора инструментов LLVM 10.0.0 и Clang. В архитектуре Intel мы использовали флаг -O3 для Clang (см. этот раздел). В Graviton2 мы использовали рекомендованные AWS настройки оптимизации LLVM.
    • Виртуальная машина WebAssembly второго состояния (SSVM) 0.6.4 с оптимизацией AOT (компилятор с опережением времени)

    Результаты для архитектуры Intel показаны на рисунке ниже. Все числа указаны для времени выполнения в секундах. Меньшее число указывает на лучшую производительность. Примечание. Холодные запуски SSVM на несколько порядков быстрее, чем у Docker, поэтому мы умножили время холодного запуска в 50 раз, чтобы они были видны на этом графике. Проблема холодного запуска особенно важна для микросервисов, которые вызываются лишь время от времени. Примеры включают множество бессерверных функций, которые реагируют на случайные события, и каждый вызов функции может привести к холодному запуску среды выполнения.

    • Холодный запуск SSVM занимает менее 20 миллисекунд, тогда как для Docker требуется 700 миллисекунд или больше. SSVM как минимум в 30 раз быстрее.
    • Для выполнения ресурсоемких задач Docker + native и SSVM примерно в 2 раза быстрее, чем Docker + Node.js.
    • Docker + Native — плохой выбор, так как он работает хуже, чем SSVM, но отказывается от экосистемных преимуществ Node.js и JavaScript.

    Программы в SSVM работают даже быстрее, чем собственный код. Как это возможно? SSVM использует методы компиляции с опережением времени (AOT). Это позволяет компилятору оптимизировать конкретно для машины, на которой он в настоящее время работает, в отличие от общей оптимизации для всего класса архитектуры ЦП.

    Переход с контейнеров уровня ОС (например, Docker) на виртуальные машины уровня приложения (например, SSVM) привел к значительному повышению производительности. SSVM требует внесения некоторых изменений в приложения Node.js, но по-прежнему дает разработчикам преимущества безопасности во время выполнения, безопасности, переносимости и полной экосистемы Node.js.

    Эффективное оборудование

    Решение Software Performance Engineering, предложенное профессорами Лейзерсоном и Томпсоном и соавт. это не просто удаление существующего программного обеспечения. Это также требует более эффективного использования программного обеспечения аппаратных устройств. После многих лет итераций дизайна в сильно ограниченных вычислительных средах (например, на мобильном телефоне) архитектура Arm предоставляет уникальную возможность запускать общие программы с высокой эффективностью. Благодаря новаторской работе AWS по оптимизации виртуализации на стороне сервера для Arm инстансы Amazon EC2 на базе AWS Graviton2 предлагают потенциал для дальнейшего повышения производительности наших веб-приложений. В этом разделе мы повторили эталонные тесты на инстансах AWS t3.small (x86) и t4g.small (Graviton2 на базе Arm). Они настроены аналогично, но t4g.small (Arm) примерно на 24 % дешевле почасовой оплаты.

    • Тип инстанса t3.small оснащен процессорами Intel Xeon Platinum серии 8000 (x86_64) с постоянной тактовой частотой ЦП в режиме Turbo до 3,1 ГГц. Инстанс t3 предлагает 2 виртуальных ЦП, работающих на 1 физическом ядре, и 2 ГБ ОЗУ. Это стоит 0,0208 долл. США в час.
    • Тип инстанса t4g.small оснащен ЦП AWS Graviton2 (Arm64 или aarch64) с тактовой частотой 2,5 ГГц. Инстанс t4g предлагает 2 виртуальных ЦП, работающих на 2 физических ядрах, и 2 ГБ ОЗУ. Это стоит 0,0168 доллара США в час.

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

    Результаты тестов Intel и Graviton2 показаны на рисунке ниже. Все числа указаны для времени выполнения в секундах. Меньшее число указывает на лучшую производительность.

    На следующем рисунке показаны результаты сравнительного анализа с точки зрения экономической эффективности с учетом как времени ЦП, так и почасовой ставки для различных типов ЦП в EC2. Все цифры представляют собой стоимость выполнения эталонных операций в единице 0,001 цента США. Меньшее число указывает на более высокую эффективность по отношению к затратам.

    • Виртуальная машина SSVM по-прежнему обеспечивает наилучшую производительность: время холодного запуска в 100 раз быстрее, чем у Docker, а производительность во время выполнения до 5 раз выше, чем у Docker + Node.js (т. е. тест Мандельброта) на обеих платформах ЦП.
    • По всем направлениям Graviton2 предлагает лучшее соотношение цены и производительности по сравнению с процессорами Intel x86.
    • Gaviton2 продемонстрировал значительный прирост производительности по сравнению с Intel при запуске собственных двоичных файлов.
    • Сравнение производительности Node.js и SSVM между Graviton2 и Intel неоднозначно. Но учитывая, что инстансы Graviton2 на 24 % дешевле, они превосходят их по соотношению цена/производительность.

    Мы предполагаем, что базовая операционная система Linux уже оптимизирована для процессоров ARM, что позволяет нативным двоичным файлам в полной мере использовать функции производительности Graviton2. Тем не менее, платформа и программное обеспечение среды выполнения, расположенное выше в стеке, такое как Node.js и SSVM, специально не оптимизированы для процессоров Arm из-за относительной новизны Arm в серверном и облачном пространстве. В ARM-версиях серверного программного обеспечения еще есть много возможностей для улучшения.

    Что мы узнали

    В этой статье мы сравнили часто используемые алгоритмы и задачи веб-приложений на разных вычислительных архитектурах. Мы также сравнили устаревший стек Docker и Node.js с новым стеком SSVM (WebAssembly) и наблюдали повышение производительности до 100 раз при холодном запуске и до 5 раз при теплом запуске. По-видимому, есть еще много возможностей для улучшений, особенно в отношении оптимизации программного обеспечения для процессоров на базе Arm.

    В эпоху после смерти Мура технологии могут по-прежнему способствовать росту производительности нашего общества за счет улучшения стека программного обеспечения. Наверху есть куда расти!

    В следующей статье представлен обзор ARM и X86. X86 Относится к семейству процессоров Intel, начиная с 8086, позже выпущены 80186, 80286, 80386, 80486, Pentium и Xeon и т. д. mber 86 в X86 обозначает две последние цифры более ранних процессоров. ARM изначально начиналась как Acorn RISC Machine от ARM Holdings, разработала 32-битные процессоры ARM, ARM2 с минимальным количеством транзисторов, которые имели более низкое энергопотребление / тепловыделение. X86 доминирует на рынках настольных компьютеров, рабочих станций, ноутбуков и серверов, а первоначальные чипы были 16-битными, а более поздние версии были 32- и 64-битными. ARM вытеснила процессоры Intel по скорости и длительному времени автономной работы. Сотрудничал с Apple и VLSI, чтобы запустить новую компанию Advanced RISC Machines. Процессоры ARM широко используются в мобильных устройствах.

    Личное сравнение ARM и X86 (инфографика)

    Ниже приведены 13 основных различий между ARM и X86:

    Веб-разработка, языки программирования, тестирование программного обеспечения и другое

    Ключевая разница между ARM и X86

    Давайте обсудим некоторые из основных ключевых различий между ARM и X86:

    X86 и ARM — это два основных процессора, захвативших рынок ЦП, и каждый из них имеет свои сильные и слабые стороны.

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

    Набор инструкций

    • Процессоры ARM относятся к архитектуре с сокращенным набором команд (RISC).
    • Архитектура набора инструкций (ISA) определяет способ обработки инструкций, доступа к памяти, управления вводом-выводом и связывает процессор с программистом для создания эффективного кода.
    • RISC — это новейшая разработка в своем роде, в которой действия разбиваются (сокращаются) на простые инструкции, и одна инструкция выполняется за один такт, а миллионы таких инструкций выполняются за секунду с более высокой скоростью.
    • Несмотря на то, что ему приходится выполнять несколько инструкций, общая скорость выше благодаря мощным процессорам и конвейерной обработке.
    • Принимая во внимание, что процессоры X86 следуют архитектуре сложных вычислений с набором инструкций (CISC).
    • Сложные инструкции обрабатываются за один шаг за несколько тактов. Он обрабатывает несколько инструкций за один шаг, используя доступную память, уделяя больше внимания эффективности процесса.
    • Он использует больше регистров для выполнения нескольких задач, обеспечивая высокую пропускную способность и производительность.

    Потребляемая мощность

    • Процессор ARM выполняет по одной инструкции за раз и требует меньше аппаратного обеспечения. Ни один из регистров, используемых этим процессором, не меньше по сравнению с другими. Следовательно, он потребляет меньше энергии, а время автономной работы устройства, использующего этот процессор, выше. Он также выделяет меньше тепла. ARM использует больше памяти для обработки нескольких инструкций. Он потребляет 5 Вт энергии даже при использовании графических процессоров и других периферийных устройств.
    • Процессоры X86 больше ориентированы на производительность и высокую пропускную способность, и для этого используется больше регистров. Следовательно, потребление электроэнергии и тепловыделение здесь больше.Высокопроизводительный процессор Intel i7 потребляет 130 Вт энергии.
    • Процессоры ARM предпочтительнее использовать в мобильных устройствах из-за их более низкого энергопотребления и длительного времени автономной работы, что имеет первостепенное значение при выборе процессоров для любых приложений.
    • Устройствам, всегда подключенным к надежному источнику питания, не нужно беспокоиться о энергопотреблении, поэтому настольные компьютеры, ноутбуки и серверы используют X86 из-за его эффективности за счет высокого энергопотребления.

    Программное обеспечение

    • Устройства, оснащенные ARM Process, работают на операционных системах Android, разработанных специально для ARM. Настольные компьютеры, ноутбуки и серверы работают под управлением таких ОС, как Unix, Linux и Windows, разработанных для процессоров X86.
    • Некоторое интерфейсное программное обеспечение позволяет запускать любую ОС на любых устройствах, но система на базе ARM имеет ограничения для работы в некоторых ОС, разработанных для X86.
    • Из-за популярности ARM Microsoft выпустила новую версию Windows для ARM.

    Приложение

    • Выбор процессоров зависит от приложения, для которого будет использоваться компьютер. Для приложений Интернета вещей процессор ARM является правильным выбором, поскольку встроенная система должна быть подключена ко всему оборудованию и иметь небольшой размер.
    • ARM — лучший выбор, если для какого-либо приложения требуется одноплатный компьютер с целью экономии средств. Для экономичных приложений, где не нужны экзотические дисплеи, ARM — идеальный выбор. Приложение, которому нужна мощная платформа X86, — правильный выбор.

    Таблица сравнения ARM и X86

    Давайте обсудим главное сравнение между ARM и X86:

    Использует вычислительную архитектуру с сокращенным набором команд (RISC).

    Заключение

    Выбор процессоров зависит от требований приложения и ожидаемого уровня производительности. ARM наиболее предпочтителен в высококлассных, современных и цифровых прикладных устройствах по сравнению с X86. Низкие, обычные серверные приложения предпочитают X86, где требуется высокая производительность.

    Обучение Java (40 курсов, 29 проектов, 4 викторины) 40 онлайн-курсов | 29 практических проектов | 285+ часов | Поддающийся проверке сертификат об окончании | Пожизненный доступ | 4 викторины с решениями
    4,8 (12 688 оценок)

    Рекомендуемые статьи

    Это руководство по сравнению ARM с X86. Здесь мы обсуждаем ключевые отличия ARM от X86 с инфографикой и сравнительной таблицей. Вы также можете ознакомиться со следующими статьями, чтобы узнать больше –

    Большой вопрос, который волнует всех с тех пор, как Apple объявила о предстоящем переходе на ARM, заключается в том, какую производительность мы можем ожидать от новых чипов. На этот вопрос не так просто ответить прямо сейчас, и в первую очередь существует некоторая дезинформация о том, в чем разница между современными процессорами x86 и процессорами ARM.

    Речь идет не о CISC и RISC

    Некоторые статьи в Интернете представляют это как битву CISC и RISC, но это устаревшее сравнение.

    «Классическая» формулировка дебатов о x86 и ARM восходит к двум различным методам построения архитектур набора команд (ISA): CISC и RISC. Десятилетия назад проекты CISC (Complex Instruction Set Computer), такие как x86, были сосредоточены на относительно сложных инструкциях переменной длины, которые могли кодировать более одной операции. Конструкции ЦП в стиле CISC доминировали в отрасли, когда память была чрезвычайно дорогой как с точки зрения абсолютной стоимости за бит, так и с точки зрения задержек доступа. Сложные наборы инструкций позволили сделать код более плотным и сократить количество обращений к памяти.

    ARM, напротив, является RISC (компьютер с сокращенным набором инструкций) ISA, что означает, что он использует инструкции фиксированной длины, каждая из которых выполняет ровно одну операцию. Вычисления в стиле RISC стали практичными в 1980-х годах, когда стоимость памяти стала меньше. Конструкции RISC превзошли конструкции CISC, потому что разработчики ЦП поняли, что лучше создавать простые архитектуры с более высокими тактовыми частотами, чем терпеть удары по производительности и мощности, необходимые для вычислений в стиле CISC.

    Однако ни один современный процессор x86 на самом деле не использует инструкции x86 внутри. В 1995 году Intel представила Pentium Pro, первый микропроцессор x86, который транслировал инструкции x86 CISC во внутренний формат RISC для выполнения. Все процессоры Intel и AMD, кроме одного, разработанные с конца 1990-х годов, выполняли внутренние операции RISC. RISC выиграл войну между CISC и RISC. Это было в течение десятилетий.

    Исходный декодер Pentium Pro с двумя простыми, быстрыми блоками декодера и одним сложным, более медленным блоком. С тех пор дизайн эволюционировал. Изображение предоставлено Ars Technica.

    Причина, по которой компании все еще ссылаются на эту идею, даже после того, как она должна была быть упразднена, заключается в том, что о ней легко рассказать людям.ARM быстрее/эффективнее (если это так), потому что это RISC-процессор, а x86 — CISC. Но это не совсем точно. Первоначальный процессор Atom (Bonnell, Moorestown, Saltwell) — единственный чип Intel или AMD за последние 20 лет, способный выполнять собственные инструкции x86.

    На самом деле, споря о CISC и RISC, люди спорят о том, потребляет ли процессор x86 блока декодера для преобразования CISC в RISC достаточно энергии, чтобы его можно было считать категорическим недостатком по сравнению с чипами x86.

    Когда я поднимал этот вопрос перед AMD и Intel в прошлом, они всегда говорили, что это неправда. Мне сказали, что энергопотребление декодера находится в диапазоне 3-5 процентов. Это подтверждается независимой оценкой. Сравнение энергопотребления декодера в эпоху Haswell показало влияние на 3 процента, когда загружен кэш L2/L3, и не более 10 процентов, если декодер сам по себе является основным узким местом. Статическое энергопотребление ядер ЦП составляло почти половину от общего. Авторы сравнения отмечают, что 10 процентов представляют собой искусственно завышенную цифру, основанную на их тестовых характеристиках.

    Документ 2014 года об эффективности ISA также подтверждает аргумент о том, что эффективность ISA по существу одинакова выше уровня микроконтроллера. Короче говоря, постоянно утверждалось, что вопрос о том, быстрее ли ARM, чем x86, зависит от основ конструкции ЦП, а не от ISA. С момента написания этих сравнений, по-видимому, не проводилось никаких серьезных работ по этой теме. Одна защита диссертации, которую я нашел, утверждала несколько иные результаты, но она была полностью основана на теоретическом моделировании, а не на реальной оценке оборудования.

    Энергопотребление ЦП зависит от таких факторов, как эффективность исполнительных блоков, энергопотребление кэшей, подсистема межсоединений, блоки выборки и декодирования (если они есть) и т. д. ISA может влиять на параметры конструкции некоторых из этих функциональных блоков, но сама по себе ISA не играет существенной роли в производительности современных микропроцессоров.

    Сможет ли Apple создать чип лучше, чем AMD или Intel?

    Эталонные тесты PC Mag дают неоднозначную картину. В таких тестах, как GeekBench 5 и GFX Bench 5 Metal, ноутбуки Apple с процессорами Intel уступают iPad Pro от Apple (а иногда и iPhone 11).

    В таких приложениях, как WebXPRT 3, Intel в целом по-прежнему лидирует. Сравнения производительности, которые мы можем проводить между платформами, ограничены, и они указывают на противоположные направления.

    Это означает, что верно несколько разных вещей. Во-первых, нам нужны более качественные бенчмарки, выполненные в более чем равных условиях, чего, очевидно, не произойдет, пока устройства macOS с чипами Apple ARM не станут доступны для сравнения с macOS на Intel. GeekBench — это не последнее слово в оценке производительности ЦП. Ранее уже задавались вопросы о том, насколько он эффективен в качестве кроссплатформенного теста ЦП, и нам необходимо провести сравнение реальных приложений.

    Факторы, работающие в пользу Apple, включают в себя превосходные ежегодные улучшения архитектуры ЦП и тот факт, что в первую очередь она готова пойти на этот скачок. Если бы Apple не верила, что сможет обеспечить хотя бы конкурентоспособную производительность, не было бы причин что-то менять. Тот факт, что компания считает, что таким образом может создать для себя постоянное преимущество, говорит о том, насколько Apple уверена в своих продуктах.

    Однако в то же время Apple не переходит на ARM через год, как это было с чипами x86. Вместо этого Apple надеется сделать это в течение двух лет. Один из способов прочесть это решение — рассматривать его как отражение долгосрочной ориентации Apple на мобильные устройства. Масштабирование чипа iPhone мощностью 3,9 Вт в форм-фактор ноутбука мощностью 15-25 Вт намного проще, чем масштабирование его в разъем ЦП настольного компьютера с TDP 250 Вт со всеми сопутствующими разработками чипсета, необходимыми для поддержки таких вещей, как PCIe 4.0 и стандартная память DDR4 / DDR5 (в зависимости от окна запуска). ).

    Возможно, Apple сможет выпустить более совершенный чип для ноутбуков по сравнению с продуктами Intel x86, но процессоры для настольных компьютеров с более крупными ядрами и более высоким TDP еще несколько лет будут оставаться сильными процессорами x86. Я не думаю, что будет преувеличением сказать, что это будет самый пристально наблюдаемый запуск ЦП со времен AMD Ryzen в 2017 году.

    Историческая ценовая и рыночная стратегия Apple делает маловероятным, что компания будет атаковать массовый рынок. Но OEM-производители основных ПК не захотят увидеть конкурирующие архитектуры коммутаторов и получить за это решительное вознаграждение, пока они застряли с неожиданно второсортными процессорами AMD и Intel. В качестве альтернативы, конечно, возможно, что Apple продемонстрирует более слабый, чем ожидалось, рост или сможет продемонстрировать решающее влияние только в надуманных сценариях. Мне искренне любопытно посмотреть, как это складывается.

    Сегодня большинство вычислительных устройств, скорее всего, имеют процессор с архитектурой x86, такой как процессоры Intel, или архитектуру ARM (Advanced RISC Machine), как в ЦП вашего смартфона или планшета. Процессоры ARM также используются в ноутбуках.

    В настоящее время вы можете выбирать между компьютером с процессором Intel или AMD (x86) или устройством с процессором ARM. Итак, когда дело доходит до процессоров ARM и Intel, что лучше?

    Современные процессоры на базе Intel и ARM восходят к ранним чипам компьютеров, выпущенных на рынок в начале 1980-х годов, в частности, к Acorn Computers BBC Micro и Intel 8088, использованным в первом IBM PC. Они проложили путь к двум основным конструкциям процессоров современности.

    Важно отметить, что, хотя у них есть две отдельные эволюционные линии, они сходятся в том, что мы используем на сегодняшний день.

    RISC и CISC

    В сущности, основное различие между процессорами Intel и ARM заключается в типе инструкций, понятных каждому устройству. ЦП на базе ARM — это устройства RISC (компьютер с сокращенным набором инструкций), а процессоры Intel — устройства CISC (компьютер со сложным набором инструкций). Конструкции RISC и CISC различаются тем, как процессоры выполняют свою работу. В процессорах Intel (и AMD) используется набор инструкций CISC, известный как x86.

    Однако большинство их сильных и слабых сторон связаны с тем, что устройства RISC обрабатывают короткие, простые инструкции одинаковой длины, в то время как устройства CISC объединяют множество инструкций в длинные сложные инструкции, которые обрабатываются одновременно.

    Совместимость программного обеспечения

    Процессоры Intel не понимают код ARM и наоборот. Таким образом, операционная система и программное обеспечение должны быть написаны специально для одного типа процессора.

    Возможно, что программное обеспечение, предназначенное для одного типа ЦП, будет работать на другом, но это обычно приводит к большим потерям производительности и неэффективности.

    Исключением является программа для перевода кода Rosetta 2 от Apple. Их специальные процессоры ARM были разработаны специально с учетом Rosetta 2 и обеспечивают почти беспрепятственное выполнение программного обеспечения, разработанного для компьютеров Mac на базе Intel. В целом снижение производительности при использовании Rosetta 2 невелико, хотя и не идеально.

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

    Потребляемая мощность

    Существенным преимуществом процессоров на базе ARM по сравнению с процессорами Intel и другими процессорами x86 является энергопотребление. Оказывается, RISC-подход вместе со специфическими инновациями в дизайне ARM делает процессоры невероятно экономичными. Вот почему ARM доминирует на рынках смартфонов и планшетов.

    Вот почему вы можете работать со своим телефоном 24 часа и более, в то время как ваш ноутбук Intel с аккумулятором большей емкости может работать всего несколько часов, если вам повезет. Конечно, если вы используете M1 Mac, вы можете получить около 20 часов воспроизведения фильмов, что очень впечатляет для ноутбука.

    Чистая производительность

    Если исключить энергопотребление из уравнения, как в случае с компьютером, подключенным к сети, Intel и другие процессоры x86 CISC опережают процессоры RISC на базе ARM.

    Но, поскольку в разработку ЦП ARM вкладывается так много денег благодаря росту числа смартфонов и планшетов, производительность ЦП ARM растет в геометрической прогрессии с каждым поколением.

    Смартфоны среднего класса преодолели порог «достаточно хороших» с точки зрения вычислительной мощности и достаточно мощны, чтобы удовлетворять повседневные потребности пользователей.

    Производительность на ватт

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

    Рассмотрите приведенное выше сравнение. Intel i7-9750H имеет расчетную тепловую мощность (TDP) 45 Вт, а Snapdragon 888 — 10 Вт. Тем не менее, процессор 888 близок к эталонной производительности.

    ЦП ARM по-прежнему набирает 75 % баллов по сравнению с высокопроизводительным процессором Intel для ноутбуков, когда задействованы все баллы. Имейте в виду, что процессор ARM не имеет активного охлаждения и находится внутри смартфона.Для большого портативного устройства с активным охлаждением и более чем в четыре раза TDP такое относительно небольшое преимущество в производительности наглядно демонстрирует разницу в производительности на ватт между этими технологиями.

    Основная симметрия

    Важным преимуществом ARM является использование асимметричных ядер ЦП. Intel и другие процессоры x86 имеют несколько, но идентичных ядер. Однако процессоры ARM обычно имеют несколько, но разных ядер.

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

    За ARM будущее?

    Главный вопрос, который мы задавали, когда речь шла об этих процессорных технологиях, заключался в следующем: «Какая из них лучше?» и, как вы могли ожидать, ответ «это зависит». Мы можем с уверенностью сказать, что процессоры x86 Intel (и AMD) правят, когда питание не является проблемой. Так что, если он подключен к стене и не зависит от батареи для работы, вам подойдут эти процессоры.

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

    Если все сделано правильно, вы получите такой компьютер, как M1 MacBook Pro. Его мощности более чем достаточно для использования в качестве компьютера общего назначения, и он может даже выполнять профессиональные задачи, такие как редактирование видео — уровень производительности, который он может поддерживать в течение 20 часов без подзарядки! Если вам нужна дополнительная информация о M1, ознакомьтесь с M1 vs i7: The Benchmark Battles.

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

    Понравился ли вам этот совет? Если это так, загляните на наш канал YouTube на нашем родственном сайте Online Tech Tips. Мы охватываем Windows, Mac, программное обеспечение и приложения, а также предлагаем множество советов по устранению неполадок и обучающих видеороликов. Нажмите кнопку ниже, чтобы подписаться!

    Читайте также: