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

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х годов.

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

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

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

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

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

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

История CISC

ARM против x86: В чем разница между двумя архитектурами процессоров?
Памятка программиста, 1960-е годы. Цифровой (машинный) код «Минск-22».

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

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

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

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

Недостатки 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
  • MOV R3, #10
  • AND R2, R0, #0xF
  • CMP R2, R3
  • IT LT
  • BLT elsebranch
  • ADD R2. #6
  • ADD R1. #1
  • elsebranch:
  • END

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Что сейчас?

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

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

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

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

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

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

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

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

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

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

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

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

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

Компания 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 против x86: В чем разница между двумя архитектурами процессоров?

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

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

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

Как узнать архитектуру процессора смартфона

Если вы технический специалист, возможно, вы уже знаете о процессоре своего телефона. Однако многие пользователи не знают, какой процессор у их Android-смартфонов.

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

Проверьте, какой процессор у вашего Android-устройства

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

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

Droid Hardware Info

Шаг 1. Прежде всего, загрузите и установите приложение под названием Droid Hardware Info из Google Play Store.

Шаг 2. Откройте только что установленное приложение и предоставьте все разрешения, которые оно запрашивает. Внутри приложения выберите вкладку «Система», и вы увидите всю информацию о процессоре.

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

Также в приложении Droid Hardware Info вы можете найти другую полезную информацию о вашем мобильном устройстве.

Обычно, покупая новый Android-смартфон, мы узнаем о его характеристиках прямо из коробки. Это связано с тем, что на коробке телефона напечатаны спецификации устройства. Однако, если вы потеряли коробку, вы можете попробовать CPU-Z для Android, чтобы узнать, какой процесс имеет ваше устройство.

Шаг 1. Прежде всего, посетите магазин Google Play, затем найдите CPU-Z и установите его. Вы также можете скачать приложение по этой ссылке.

Шаг 2. После загрузки откройте приложение, и вы увидите основной интерфейс. Если вы хотите получить подробную информацию о процессоре, нажмите на вкладку «SoC».

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

Аналогичным образом, если вы хотите узнать о системе, вам нужно выбрать вкладку «System». Самое лучшее в CPU-Z — это то, что вы можете использовать приложение для получения подробной информации о батарее и датчиках.

Альтернативы

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

3DMark

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

3DMark — одно из лучших и ведущих приложений для тестирования, доступное в магазине Google Play. Помимо того, что оно просто показывает, какой процессор у вашего устройства, приложение также измеряет производительность графического процессора и процессора вашего устройства.

Geekbench

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

Geekbench — еще одно лучшее приложение для Android в списке, которое показывает, как ваше устройство противостоит другим на рынке. Приложение показывает информацию о GPU и CPU. Кроме того, оно запускает некоторые реальные задачи для измерения производительности вашего телефона.

CPU X

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

Как следует из полного названия приложения, CPU X — Информация об устройстве и системе предназначено для предоставления вам полной информации о компонентах вашего устройства, таких как процессор, ядра, скорость, оперативная память, камера, датчики и т. д.

Приложение очень похоже на CPU-Z, но содержит некоторые дополнительные функции. С помощью CPU X вы также можете отслеживать скорость интернета в режиме реального времени.

Итак, это лучшие приложения для проверки информации о процессоре вашего смартфона Android. Если вы знаете еще какие-либо подобные приложения, пожалуйста, напишите об этом в комментариях.

Источник https://habr.com/ru/company/droider/blog/519732/

Источник https://itznaniya.ru/kak-proverit-kakoj-protsessor-u-vashego-android-ustrojstva/

Источник

Источник

Leave a Comment

Ваш адрес email не будет опубликован.