Arm процессоры для смартфонов

ARM против x86: В чем разница между двумя архитектурами процессоров?

Вы наверняка знаете, что мир процессоров разбит на два лагеря. Если вы смотрите это видео со смартфона, то для вас работает процессор на архитектуре ARM, а если с ноутбука, для вас трудится чип на архитектуре x86.

А теперь еще и Apple объявила, что переводит свои Mac на собственные процессоры Apple Silicon на архитектуре ARM. Мы уже рассказывали, почему так происходит. А сегодня давайте подробно разберемся, в чем принципиальные отличия x86 и ARM. И зачем Apple в это все вписалась?

Итак, большинство мобильных устройств, iPhone и Android’ы работают на ARM’е. Qualcomm, HUAWEI Kirin, Samsung Exynos и Apple A13/A14 Bionic — это все ARM-процессоры.

А вот на компьютере не так — там доминирует x86 под крылом Intel и AMD. Именно поэтому на телефоне мы не можем запустить Word с компьютера.

x86 — так называется по последним цифрам семейства классических процессоров Intel 70-80х годов.

Чем же они отличаются?

Есть два ключевых отличия.

Первое — это набор инструкций, то есть язык который понимает процессор

x86 процессоры используют сложный набор инструкций, который называется CISC — Complex Instruction Set Computing.

ARM процессоры наоборот используют упрощенный набор инструкций — RISC — Reduced Instruction Set Computing.

Кстати ARM расшифровывается как Продвинутые RISC машины — Advanced RISC Machines.

Наборы инструкций ещё принято назвать архитектурой или ISA — Instruction Set Architecture.

Второе отличие — это микроархитектура. Что это такое?

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

  • x86 — CISC
  • ARM — RISC

Итак, запомнили. Говорим x86 — подразумеваем архитектуру CISC, ARM — это RISC.

Но как так произошло, что процессоры стали говорить на разных языках?

История CISC


Памятка программиста, 1960-е годы. Цифровой (машинный) код «Минск-22».

Всё началось в 1960-х. Поначалу программисты работали с машинным кодом, то есть реально писали нолики и единички. Это быстро всех достало и появился Assembler. Низкоуровневый язык программирования, который позволял писать простые команды типа сложить, скопировать и прочее. Но программировать на Assembler’е тоже было несладко. Потому как приходилось буквально “за ручку” поэтапно описывать процессору каждое его действие.

Поэтому, если бы вы ужинали с процессором, и попросили передать его вам соль, это выглядело бы так:

  • Эй процессор, посмотри в центр стола.
  • Видишь соль? Возьми её.
  • Теперь посмотри на меня.
  • Отдай мне соль. — Ага, спасибо!
  • А теперь снова возьми у меня соль.
  • Поставь её откуда взял
  • Спасибо большое! Продолжай свои дела.
  • Кхм… Процессор, видишь перец?
  • И так далее.

В какой-то момент это всё задолбало программистов. И они решили: Хей, а почему бы нам просто не не написать инструкцию «Передай мне соль»? Так и сделали. Набор таких комплексных инструкций назвали CISC.

Этот подход стал настоящим спасением как для разработчиков, так и для бизнеса. Захотел клиент новую инструкцию — не проблема, были бы деньги — мы сделаем. А деньги у клиентов были.

Недостатки CISC

Но был ли такой подход оптимальным. С точки зрения разработчиков — да. Но вот микроархитектура страдала.

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

С другой стороны, он бы не щадил бюджет. Диван для одного человека, пуф для другого, кушетка для третьего, трон из Игры Престолов для вашей Дейенерис. В этом случае площадь комнаты бы очень быстро закончилась. Чтобы разместить всех вам бы пришлось увеличивать бюджет и расширять зал. Это не рационально. Но самое главное, CISC-архитектура существует очень давно и те инструкции, которые были написаны в 60-х годах сейчас уже вообще не актуальны. Поэтому часть мебели, а точнее исполнительных блоков, просто не будут использоваться. Но многие из них там остаются. Поэтому появился RISC…

Преимущества RISC

С одной стороны писать на Assembler’е под RISC процессоры не очень-то удобно. Если в лоб сравнивать код, написанный под CISC и RISC процессоры, очевидно преимущество первого.

Так выглядит код одной и той же операции для x86 и ARM.

x86

  • MOV AX, 15; AH = 00, AL = 0Fh
  • AAA; AH = 01, AL = 05
  • RET

ARM

  • MOV R3, #10
  • AND R2, R0, #0xF
  • CMP R2, R3
  • IT LT
  • BLT elsebranch
  • ADD R2. #6
  • ADD R1. #1
  • elsebranch:
  • END

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

Представьте, что вы проектируете процессор. Расположение блоков на х86 выглядело бы так.

Каждый цветной квадрат — это отдельные команды. Их много и они разные. Как вы поняли, здесь мы уже говорим про микроархитектуру, которая вытекает из набора команд. А вот ARM-процессор скорее выглядит так.

Ему не нужны блоки, созданные для функций, написанных 50 лет назад.

Читайте также:  Башня залман для процессора

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

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

  • проще работа с памятью,
  • более богатая регистровая архитектура,
  • легче делать 32/64/128 разряды,
  • легче оптимизировать,
  • меньше энергопотребление,
  • проще масштабировать и делать отладку.

Для примера вот два процессора одного поколения. ARM1 и Intel 386. При схожей производительности ARM вдвое меньше по площади. А транзисторов на нем в 10 раз меньше: 25 тысяч против 275 тысяч. Энергопотребление тоже отличается на порядок: 0.1 Ватт против 2 Ватт у Intel. Шок.

Поэтому наши смартфоны, которые работают на ARM процессорах с архитектурой RISC, долго живут, не требуют активного охлаждения и такие быстрые.

Лицензирование

Но это все отличия технические. Есть отличия и организационные. Вы не задумывались почему для смартфонов так много производителей процессоров, а в мире ПК на x86 только AMD и Intel? Все просто — ARM это компания которая занимается лицензированием, а не производством.

Даже Apple приложила руку к развитию ARM. Вместе с Acorn Computers и VLSI Technology. Apple присоединился к альянсу из-за их грядущего устройства — Newton. Устройства, главной функцией которого было распознавание текста.

Даже вы можете начать производить свои процессоры, купив лицензию. А вот производить процессоры на x86 не может никто кроме синей и красной компании. А это значит что? Правильно, меньше конкуренции, медленнее развитие. Как же так произошло?

Ну окей. Допустим ARM прекрасно справляется со смартфонами и планшетами, но как насчет компьютеров и серверов, где вся поляна исторически поделена? И зачем Apple вообще ломанулась туда со своим Apple Silicon.

Что сейчас?

Допустим мы решили, что архитектура ARM более эффективная и универсальная. Что теперь? x86 похоронен?

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

Но уже достаточно давно процессоры Intel и AMD разбивают входные инструкции на более мелкие микро инструкции (micro-ops), которые в дальнейшем — сейчас вы удивитесь — исполняются RISC ядром.

Да-да, ребята! Те самые 4-8 ядер в вашем ПК — это тоже RISC-ядра!

Надеюсь, тут вы окончательно запутались. Но суть в том, что разница между RISC и CISC-дизайнами уже сейчас минимальна.

А что остается важным — так это микроархитектура. То есть то, насколько эффективно все организовано на самом камне.

Ну вы уже наверное знаете, что Современные iPad практически не уступают 15-дюймовым MacBook Pro с процессорами Core i7 и Core i9.

А что с компьютерами?

Недавно компания Ampere представила свой 80-ядерный ARM процессор. По заявлению производителя в тестах процессор Ampere показывает результат на 4% лучше, чем самый быстрый процессор EPYC от AMD и потребляет на 14% меньше энергии.

Компания Ampere лезет в сегменты Cloud и Workstation, и показывает там отличные цифры. Самый быстрый суперкомпьютер в мире сегодня работает на ARM ISA. С обратной стороны, Intel пытается все таки влезть в сегмент low power и для этого выпускает новый интересный процессор на микроархитектуре lakefield.

Пока у ноутбуков и процессоров от Intel есть одно неоспоримое достоинство — (охлаждение и) единство архитектуры. Пока на рынке ARM-процессоров существуют Qualcomm, Samsung, MediaTek, в мире x86 творится монополия и разработчикам сильно легче делать софт и игры под “взрослые” процессоры.

И Apple та компания, которая способна мотивировать достаточное количество разработчиков пилить под свой ARM. Но суть этого перехода скорее не в противостоянии CISC и RISC. Поскольку оба подхода сближаются, акцент смещается на микроархитектуру, которую делает Apple для своих мобильных устройств. И судя по всему микроархитектура у них крута. И они хотели бы ее использовать в своих компьютерах.

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

Итоги

Спрос на ARM в итоге вырастет. Для индустрии это не просто важный шаг, а архиважный. Линус Торвальдс говорил, что пока рабочие станции не станут работать на ARM — на рынке серверов будут использовать x86.

И вот это случилось — в перспективе это миллионы долларов, вложенных в серверные решения. Что, конечно, хорошо и для потребителей. Нас ждет светлое будущее и Apple, действительно, совершила революцию!

Редактор материала: Антон Евстратенко. Этот материал помогли подготовить наши зрители Никита Куликов и Григорий Чирков. Спасибо ребята!

Источник

Сердце смартфона: какой SoC выбрать

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

У каждого производителя есть как удачные модели, где этот баланс найден, так и откровенно провальные — там где силы бросили на высокую производительность всех ядер, забыв про память, не оставив запаса на простые задачи и не научив чип работать в полсилы. Цель данной статьи – показать, как эволюционировала архитектура ARM, какие решения актуальны сейчас и какие из них можно выбрать для себя, ориентируясь на сценарий использования смартфона.

Читайте также:  Видеокарта для acer aspire 7530g

ARM и основные версии семейств

За классическое представление ядерных архитектур, используемых в чипах современных смартфонов, принято считать семейства ARMv7 и ARMv8. Они легли в основу множества ответвлений, как за авторством самой ARM Holdings, так и других компаний: Qualcomm, Apple, Samsung, Nvidia и пр. Наиболее популярна сейчас ветка ARMv8-A, которая в свое время открыла новую эру массовых 64-битных вычислений для мобильных устройств.

Все нынешние вычислительные ядра ARM Holdings для смартфонов объединены в семейство Cortex-A. Остальные разработчики покупают у ARM лицензии на них и выпускают свои чипы с минимальными изменениями. Но могут также и перерабатывать саму архитектуру или вовсе создавать все практически с нуля, сохраняя лишь поддержку соответствующего набора инструкций. Так, например, поступают Apple, Samsung и некоторые другие компании. У Samsung это ядра Exynos M1, M2 и M3. У Apple — Monsoon, Mistral, Hurricane и т.д. У Nvidia — Denver2. У Qualcomm — Kryo и др.

Теперь давайте посмотрим на самые ходовые SoC основных игроков на этом рынке.

Qualcomm и линейка Snapdragon

Qualcomm считается признанным лидером в этой сфере. Сейчас в портфеле компании насчитывается несколько поколений успешных SoC, которые разошлись миллионами копий по всему миру. Давайте посмотрим на ассортимент и выделим наиболее интересные модели.

Snapdragon 4хх – серия доступных SoC для смартфонов. Возможно, эта фраза несколько грубая по отношению к ним, но некоторые производители пытаются воткнуть эти SoC под предлогом заботы об автономности. Не верьте им. Хотя Snapdragon 4хх действительно экономичные, экономичность является следствием, а не причиной.

Snapdragon 425, 427 – 4-х ядерные процессоры с поддержкой одноканальной памяти LPDDR3. Работают на частотах до 1,4 ГГц и основаны на ядре Cortex-A53 (архитектура ARMv8).
Snapdragon 435 – 8-ми ядерный процессор с поддержкой одноканальной памяти LPDDR3. Работает на частотах до 1,4 ГГц и основан снова на Cortex-A53.

Серия Snapdragon 450 также использует компоновку из 8 ядер, но выпускается по техпроцессу 14 нм. Частоты удалось повысить до 1,8 ГГц, а встроенное видеоядро обзавелось поддержкой разрешений от WUXGA до Full HD+ (соотношение сторон 18 к 9). Snapdragon 450 по-прежнему использует Cortex-A53 (ARMv8) и одноканальную память LPDDR3.

Snapdragon 625 и 626 – модельный ряд SoC первый получивший зарядку QC 3.0 и выпускающийся по нормам 14 нм FinFET. Это позволило снизить энергопотребление CPU части. Однако отличий от 4хх серии не так уж и много: подросшая частота до 2ГГц для 625 и 2,2 ГГц для 626.

Snapdragon 653 – первый SoC среднего уровня созданный по технологии BIG.Little. В основе лежит связка 4 ядер Cortex-A72 (до 1,95 ГГц) и 4 ядер Cortex-A53 на частоте до 1,45 ГГц. Появляется двухканальная память LPDDR3 и графическое ядро с нормальной производительность. Телефоны на основе Snapdragon 653 могут оснащаться дисплеями с разрешением 2560×1600 пикселей.

Snapdragon 630, 636 и 660 – особняком тут стоит именно 630 чип, т.к. он закончил свою жизнь, не успев как следует ее начать. Его строение было относительно просто: 8 одинаковых ядер Cortex-A53 (ARMv8) делились на 2 кластера по 4, в производство он пошел сразу на 14 нм техпроцесс. В качестве памяти применялась двухканальная LPDDR4. Буквально в том же году Qualcomm пришла к выводу, что конфигурация Snapdragon 630 не совсем удачная и обновила ее до 636. В ней применяется четыре более быстрых ядра Cortex-A73 и четыре Cortex-A53. Snapdragon 636 и 660 – это одинаковые SoC с отличиями в максимальной частоте работы (1,8 ГГц против 2,2 ГГц), разными графическими ядрами и чуть более высокой частотой памяти у 660.

Snapdragon 835 и 845 – флагманы Qualcomm, используемые в самых продвинутых мобильных телефонах (и даже нетбуках). Оба выпускаются по 10 нм техпроцессу на фабриках Samsung. Обладают 8-ю ядрами в конфигурации BIG.little. Snapdragon 835 – это интеграция четырех ядер ARM Cortex-A73 (ARMv8-A) и стольких же Kryo 280 (видоизмененное ядро Cortex-A73). Введена поддержка QC 4.0. Используется двухканальная память нового стандарта — LPDDR4X. Графическое ядро Adreno 540 даже по меркам 2018 года очень и очень быстрое.

В Snapdragon 845 впервые установлены две пары ядер Kryo 385 Gold и Silver. Kryo 385 Gold основано на версии Cortex-A75 (ARMv8.2-A), в то время как Silver — Cortex-A55 (ARMv8.2-A). Это следующий шаг в развитии технологии BIG.little. Теперь Qualcomm именует ее ARM DynamIQ. Частоты Kryo 385 Gold доходят до 2,8 ГГц, а более слабые ядра Kryo 385 Silver наоборот понижены до 1,8 ГГц.

MediaTek

При чтении спецификаций понимаешь, что компания — настоящая находка для производителей смартфонов: еще бы, выпускает дешевые SoC с кучей ядер. Берешь такой и делаешь телефон стоимостью менее 100-200 долларов со словами: — «8 ядер, 64-бит, и т.п.!». По факту MediaTek делает неплохие SoC, но скрещивают их с посредственной обвязкой, поэтому покупатели с опаской относятся к таким телефонам. И все же среди широкого ассортимента у MediaTek есть действительно массовые процессоры ARM. Неплохими решениями можно назвать две линейки — Helio P и Х. Первая относится к среднему сегменту, а вторая для продвинутых смартфонов.

Серия Helio P30, P25 и P20 – это 8-ядерные микросхемы с конфигурацией 4+4, состоящие из ядер А53. Из преимуществ Helio – современная LPDDR4x память, что непременно сказывается на графических тестах. В процессорных тестах разница между тремя версиями SoC не велика. Упор MediaTek делала на развитии вспомогательных характеристик SoC, таких как поддержка высокого разрешения экрана, двойных камер и тому подобного.

Старшие микросхемы Х27 и Х30 уникальны по своему строению. В них стоит не два, а три кластера из ядер ARM. Что же, решение неординарное и интересное. На практике оценить быстродействие такой схемы еще сложнее, ведь они работают раздельно в зависимости от нагрузок.

Читайте также:  Antimalware service executable виндовс 10 грузит процессор

Huawei Kirin

Еще один игрок на рынке, предпочитающий свои собственные разработки. Вообще компания Huawei не первый год прокладывает себе дорогу к Олимпу и вот решила заняться разработкой SoC, естественно, используя лицензию ARM. В целом – это типичные SoC с привычными характеристиками, за исключением желания Huawei идти в ногу со временем. Поэтому постепенно в SoC внедряются элементы обработки задач искусственного интеллекта вроде сопроцессора NPU. К тому же, у Huawei есть большие исследовательские центры в Европе. Получилось ли у Huawei догнать лидеров, мы сейчас и увидим.

Kirin 6хх — для мобильных телефонов средней ценовой категории. Эти SoC составляют конкуренцию Snapdragon 4хх. У них 8 ядер в конфигурации 4+4. Увы, производительность графической системы недостаточная. Это и есть главный недостаток серии 6хх. Kirin 658, 655 и 650 сильно похожи друг на друга. Huawei постепенно разгоняет их и меняет индексы. При этом графическая часть остается неизменной и основана она на ядре Mali-T830 MP2. Присутствует поддержка уже уходящей на покой LPDDR3 памяти. Для 658 проведена ревизия и появился обновленный модуль коммуникации (802.11 b/g/n/ac). Но все же больший интерес представляют собой старшие версии 9хх.

Kirin 9хх. Эти 8-ядерные SoC несколько быстрее линейки Helio X от Mediatek, хоть и обладают меньшим числом ядер. SoC получились стандартными, без инноваций, но работают отлично и позволяют экономить средства компании. В целом трио Kirin 970, 960, 955 имеют типичные характеристики, в которых видно как проходит эволюция. 955, обладая набором ядер A72+А53, со временем сменил их на A73+A53. Частоты понизились, энергопотребление упало, а за счет внутренних оптимизаций ядер А73 получилось выйти на производительность где-то между Snapdragon 835 и 660. Потому очередной шаг с заменой на более быструю память дал импульс, позволяющий на равных противостоять Snapdragon 835. Результаты прямо скажем хорошие, превосходят показатели 10-ядерных Helio, что видимо Huawei и преследовала.

Отдельно надо сказать об эффективности работы сопроцессора NPU, потому что результат и правда любопытен. Как отмечают многие авторы обзоров, смартфоны на базе Kirin 970 демонстрируют хорошую автономность в первую очередь за счет передачи части специфических расчетов в сопроцессор — к примеру, при работе камеры и определения сценариев съемки. Также он в разы ускоряет задачи, характерные для приложений AI. Плюс анализирует сценарии использования смартфона, заранее готовя их к запуску или усыпляя для лучшей автономности.

Samsung

Флагманским устройствам Samsung свойственна двойственность: на рынке присутствуют как модели на базе чипов Snapdragon, которые — сюрприз! — производятся на линиях Samsung, так и на базе собственного SoC Exynos. Интересно, что делаются Exynos на похожем техпроцессе, что и Snapdragon, однако они имеют явное преимущество в плане производительности. Существует несколько версий того, почему корейцы поступают именно так. Наиболее правдоподобной выглядит идея о том, что для пользователей США (а именно там продаются модели с «драконом» на борту) пришлось бы лицензировать часть технологий вроде СDMA, тогда как Qualcomm их уже имеет. В любом случае результат получается очень неплохим.

Так, Exynos 8895 установленный в Samsung S8, имел четыре собственных ядра M2 Mongoose с частотой 2,1 ГГц и четыре ядра А53 с частотой 1,7 ГГц. В обновленном Exynos 9810 ядра проапгрейдили до M3 Mongoose, попутно повысив частоту до 2,9 ГГц, а четыре низкопроизводительных ядра обновили до А55. Видео проапгрейдили до Mali G72, что сделало его опять одним из самых высокопроизводительных решений наравне с Adreno 630 в Snapdragon 845.

В результате Samsung S9+ на базе Exynos по синтетическим тестам считается самым быстрым смартфоном на Android и обходит аналогичные модели на Snapdragon.

При этом не флагмаными едиными. Samsung также выпускает крепких середнячков — серию Galaxy А — на базе опять же собственных процессоров. Прошлогодний А7 основывался на Exynos 7 Octa 7880: 8 ядер Соrtex A53 с частотой 1,9 ГГц, Mali-G71 MP2 и двухканальная память LPDDR4.

Характеристики Soc позволяли ему на равных конкурировать с Snapdragon 625. В готовящемся к выходу в этом году смартфоне Galaxy A8 будет стоять уже новый Exynos 7 Octa 7885, в котором два ядра заменили на А73, увеличили частоты до 2,2 ГГц, а для оставшихся шести А53 частоту снизили до 1,6 ГГц. Таким образом удалась и производительность повысить и автономность увеличить.

Интересно, что у Octa 7885 есть, можно сказать, младший брат, Exynos 5 Hexa 7872, в котором присутствует два старших А73 (с частотами 2 ГГц) и 4 А53, работающими на еще более низких 1,4 ГГц. Первые смартфоны на базе этого чипа вот-вот пойдут в серию и обещают неплохое соотношение цена/производительность.

Сравнительная таблица производительных SoC

Чтобы вам было проще разобраться во всем этом многообразии, мы собрали все основные характеристики в таблицу, добавив туда усредненные результаты тестов Geekbench4 из открытой базы данных компании-разработчика и официального рейтинга. А также результаты GFXBench: Manhattan.


(Нажмите для увеличения)

Рассматривая таблицу важно помнить, что множество смартфонных приложений все еще слабо заточены под многопоточность, поэтому производительность на одно ядро, отображаемая в тесте Geekbench 4 Single, также является весьма важным показателем.

Выводы

Главный вывод, который можно сделать, рассматривая весь этот «зоопарк», состоит в том, что несмотря на уровень кастомизации ядер именно их семейство определяет конечную производительность. Если вы хотите обзавестись высокопроизводительным решением, тогда подбирайте вариант смартфона с SoC, содержащим в себе ядра Cortex-A72, A73 или A75. Но если десятые доли секунды в отклике смартфона вам не важны, но есть желание сэкономить, тогда Cortex-A53 вас вполне устроят.

Также не стоит забывать, что медленная оперативная память или ее объем менее 2 ГБ способны «задушить» любой высокопроизводительный процессор.

Источник

Adblock
detector