Меню

Архитектура arm и x86 различия: Что лучше — x86 или ARM?

Содержание

Что лучше — x86 или ARM?

25.03.2021 | VAS Experts

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

В чем разница

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

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

А теперь рассмотрим каждый тип подробнее.

x86

Этот тип архитектуры был создан в 1978 году и относится к разновидности CISC (Complex Instruction Set Computing). Если упрощенно, он предполагает, что в процессоре есть инструкции для большинства задач. Он применяется в настольных ПК, ноутбуках и других устройствах, которым нужна максимальная производительность без экономии на питании.

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

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

ARM

ARM был создан в 1985 году британской компанией Acorn и принадлежит к типу RISC (Reduced Instruction Set Computing). Здесь другой подход — процессор содержит минимальное количество необходимых для работы команд. За счет этого инструкции здесь проще и меньше.

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

  • они дешевле в производстве и развертывании;
  • архитектура ARM позволяет крупным поставщикам создать свои собственные решения на ARM-архитектуре для разных ниш;
  • гибкие возможности настройки.

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

Если же говорить о недостатках, то они заключаются в следующем — из-за минимизации размеров и фокуса на автономности, данные обрабатываются медленнее и менее производительно, чем x86. Кроме того, если какая-то существующая часть ИТ-инфраструктуры построена на решениях от x86, следует учитывать это при выборе ARM. Одно и то же ПО на обоих решениях не запустится, для одного из них его точно придется адаптировать.

Таким образом, позволим себе сделать осторожный прогноз: похоже, все идет к победе ARM-архитектуры, но утверждать это с вероятностью в 100 % пока нельзя. В любом случае, на сегодняшний день ARM точно не выглядит универсальным решением для любых задач.

Поделиться в социальных сетях

В чем разница между двумя архитектурами процессоров? / Хабр

Вы наверняка знаете, что мир процессоров разбит на два лагеря. Если вы смотрите это видео со смартфона, то для вас работает процессор на архитектуре 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, действительно, совершила революцию!

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

как разобраться в архитектуре процессора вашего Android? — Ozon Клуб

Около трёх десятков лет назад компанией ARM (бывшая Acorn Computers) была разработана архитектура процессора. Уже многие годы её удачно используют в планшетах и смартфонах. А приход новой эпохи IT-автоматизации вывел продукт на более продвинутый уровень популярности.

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

Какие основные разновидности процессоров известны?

Не забывайте, что версия, созданная для одного типа архитектуры, скорее всего не подходит к иной. Соответственно скачивать его не советуют. Впрочем, часть программ, созданных для 32-битных систем, подходят к 64-разрядным и отлично работают.

Какие бывают операционные системы и в чём разница между этими процессорами?

  • ARM – востребованная архитектура, созданная для Android. Экономное энергопотребление – выгодная особенность этого вида процессора. Если гаджет на ARM, значит, он функционирует под руководством 32-битной операционки. Используется преимущественно в первых и средних по ценовой категории смартфонах Android
  • ARM64 – новые процессоры. Поддерживают 64-битную ОС. Главное достоинство – высокая вычислительная мощность. Большинство чипсетов в экосистеме Android разрабатывается на архитектуре ARM64.
  • X86 – эта архитектура считается самой мощной из всех подобных, но встречается редко. Такие гаджеты энергозатратны, не созданы для долгой эксплуатации аккумулятора, поэтому используются всё реже.

Как определить архитектуру смартфона?

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

Первый способ – это установить на устройстве приложение Droid Hardware Info. Доступно бесплатно в Google Play Market. С его помощью легко найти нужную информацию.

Второй метод подойдет для пользователей мессенджера «Телеграм». Войдите в Меню и Настройки, пролистайте вниз. Здесь найдете информацию, какой из процессоров на гаджете.

Также можно использовать приложение Terminal Emulator (есть в Play Market).

Отличия ARM и X86

Главная особенность, по которой одна архитектура отличается от другой – это энергопотребление (важный фактор для мобильного устройства). Внутри любого чипа ARM находится гораздо меньше транзисторов, чем у аналогичного Х86, что делает его более экономичным.

Рассмотрим по отдельности оба процессора. 

ЦП в архитектуре Х86 имеет:

  • мало регистров, каждый отвечает за определенную возможность
  • коды арифметических действий закрепляются в одной команде
  • значение длины не фиксируется

Главные параметры ARM:

  • реализовано в один цикл
  • архитектура хранения и загрузки
  • 32 или 64 бита длина команд

Выбрать из них «победителя» достаточно сложно. Да и сравнивать Х86 и ARM не совсем корректно: для разных целей используется определённая база, и каждая хороша по-своему. Но одно преимущество очевидно за ARM – аккумулятор работает долгое время.

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

ARM говорит о популярности процессоров с архитектурой ARMv8-A

Первые чипы ARM появились еще три десятилетия назад благодаря стараниям британской компании Acorn Computers (ныне ARM Limited), но долгое время пребывали в тени своих более именитых собратьев – процессоров архитектуры х86. Все перевернулось с ног на голову с переходом IT-индустрии в пост-компьютерную эпоху, когда балом стали править уже не ПК, а мобильные гаджеты.

Особенности архитектуры ARM

Начать стоит, пожалуй, с того, что в процессорной архитектуре x86, которую сейчас используют компании Intel и AMD, применяется набор команд CISC (Complex Instruction Set Computer), хоть и не в чистом виде. Так, большое количество сложных по своей структуре команд, что долгое время было отличительной чертой CISC, сначала декодируются в простые, и только затем обрабатываются. Понятное дело, на всю эту цепочку действий уходит немало энергии.


Чип ARM1 – первенец компании Acorn Computers, который производился на фабриках VLSI

В качестве энергоэффективной альтернативы выступают чипы архитектуры ARM с набором команд RISC (Reduced Instruction Set Computer). Его преимущество в изначально небольшом наборе простых команд, которые обрабатываются с минимальными затратами. Как результат, сейчас на рынке потребительской электроники мирно (на самом деле, не очень мирно) уживаются две процессорные архитектуры – х86 и ARM, каждая из которых имеет свои преимущества и недостатки.


Первым в истории устройством на базе процессора архитектуры ARM был персональный компьютер BBC Micro

Архитектура х86 позиционируется как более универсальная с точки зрения посильных ей задач, включая даже столь ресурсоемкие, как редактирование фотографий, музыки и видео, а также шифрование и сжатие данных. В свою очередь архитектура ARM «выезжает» за счет крайне низкого энергопотребления и в целом-то достаточной производительности для важнейших на сегодня целей: прорисовки веб-страниц и воспроизведения медиaконтента.


Архитектурные отличия процессоров x86 (набор команд CISC) и ARM (набор команд RISC)

Краткий экскурс в историю

По запросу «ARM» Википедия выдает два значения этой аббревиатуры: Acorn RISC Machine и Advanced RISC Machines. Начнем по порядку. В 1980-х годах в Великобритании была основана компания Acorn Computers, которая начинала свою деятельность созданием персональных компьютеров. В то время Acorn еще называли «британской Apple». Решающим периодом для компании стал конец 80-х годов, когда ее главный инженер воспользовался решением двух выпускников местного университета, придумавших новый вид процессорной архитектуры с сокращенным набором команд (RISC). Так появился первый компьютер на базе процессора Acorn Risc Machine. Успех не заставил себя долго ждать. В 1990 году британцы заключили договор с Apple и вскоре начали работу над новой версией чипсета. В итоге команда разработчиков сформировала компанию под названием Advanced RISC Machines по аналогии с процессором. Чипы с новой архитектурой также стали именоваться Advanced Risc Machine или сокращенно ARM.

С 1998 года Advanced Risc Machine стала называться ARM Limited. На текущий момент компания не занимается производством и продажей собственных процессоров. Основным и единственным направлением деятельности ARM Limited является разработка технологий и продажа лицензий различным компаниям на использование архитектуры ARM. Некоторые производители покупают лицензию на готовые ядра, другие – так называемую «архитектурную лицензию» на производство процессоров с собственными ядрами. Среди таких компаний значатся Apple, Samsung, Qualcomm, nVidia, HiSilicon и другие. По некоторым данным, ARM Limited зарабатывает на каждом таком процессоре $0,067. Эта цифра усредненная и к тому же устаревшая. С каждым годом ядер в чипсетах становится все больше, и новые многоядерные процессоры превосходят по себестоимости устаревшие образцы.

Бизнес-модель компании ARM Limited

Сейчас компания ARM Limited занимается лишь разработкой референсных процессорных архитектур и их лицензированием. Создание же конкретных моделей чипов и их последующее массовое производство – это уже дело лицензиатов ARM, которых насчитывается превеликое множество. Есть среди них как известные лишь в узких кругах компании вроде STMicroelectronics, HiSilicon и Atmel, так и IT-гиганты, имена которых у всех на слуху – Samsung, NVIDIA и Qualcomm. С полным списком компаний-лицензиатов можно ознакомиться на соответствующей странице официального сайта ARM Limited.


Только компаний, получивших лицензию на производство чипов семейства ARM Cortex-A, насчитается несколько десятков, а ведь в портфолио ARM Limited есть и другие разработки

Столь большое число лицензиатов вызвано в первую очередь обилием сфер применения ARM-процессоров, причем мобильные гаджеты – это лишь вершина айсберга. Недорогие и энергоэффективные чипы используется во встраиваемых системах, сетевом оборудовании и измерительных приборах. Платежные терминалы, внешние 3G-модемы и спортивные пульсометры – все эти устройства основаны на процессорной архитектуре ARM.


Российская со штаб-квартирой в Зеленограде, что интересно, тоже получила лицензию на производство чипов архитектуры ARM

По подсчетам аналитиков, сама ARM Limited зарабатывает на каждом произведенном чипе $0,067 в виде роялти. Но это сильно усредненная сумма, ведь по себестоимости новейшие многоядерные процессоры значительно превосходят одноядерные чипы устаревшей архитектуры.

Сфера использования ARM

Наибольшую славу ARM принесло развитие мобильных устройств. В преддверии массового производства смартфонов и другой портативной техники энергоэффективные процессоры пришлись как нельзя кстати. Кульминацией развития ARM Limited стал 2007 год, когда британская компания возобновила партнерство с Apple, а спустя некоторое время купертиновцы представили свой первый iPhone с процессором на архитектуре ARM. В последующем однокристальная система на базе архитектуры ARM стала неизменным компонентом практически всех смартфонов, представленных на рынке.

Портфолио компании ARM Limited не ограничивается только ядрами семейства Cortex-A. Фактически, под маркой Cortex существует три серии процессорных ядер, которые обозначаются буквами A, R, M. Семейство ядер Cortex-А, как мы уже знаем, является наиболее мощными. Их в основном используют в смартфонах, планшетах, ТВ-приставках, спутниковых ресиверах, телевизорах, автомобильных системах, робототехнике. Процессорные ядра Cortex-R оптимизированы для выполнения высокопроизводительных задач в режиме реального времени, поэтому такие чипы встречаются в медицинском оборудовании, автономных системах безопасности, носителях информации. Основной задачей семейства Cortex-M является простота и низкая стоимость. Технически это самые слабые процессорные ядра с наиболее низким энергопотреблением. Процессоры на базе таких ядер используются практически везде, где от устройства требуется минимальная мощность и низкая стоимость: сенсоры, контроллеры, сигнализации, дисплеи, умные часы и другая техника.

В общем, большинство современных устройств от маленьких до больших, нуждающихся в центральном процессоре, используют чипы ARM. Огромным плюсом при этом является тот факт, что архитектура ARM поддерживается множеством операционных систем на платформе Linux (в том числе Android и Chrome OS), iOS, и Windows (Windows Phone).

Однокристальная система

С технической точки зрения называть чипы архитектуры ARM процессорами не совсем верно, ведь помимо одного или нескольких вычислительных ядер они включают целый ряд сопутствующих компонентов. Более уместными в данном случае являются термины однокристальная система и система-на-чипе (от англ. system on a chip).

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


Схема строения однокристальной системы с четырьмя ядрами ARM Cortex-A9

Отдельные компоненты однокристальной системы могут быть разработаны как непосредственно ARM Limited, так и сторонними компаниями. Ярким тому примером являются графические ускорители, разработкой которых помимо ARM Limited (графика Mali) занимаются Qualcomm (графика Adreno) и NVIDIA (графика GeForce ULP).

Не стоит забывать и про компанию Imagination Technologies, которая ничем другим, кроме проектирования графических ускорителей PowerVR, вообще не занимается. А ведь именно ей принадлежит чуть ли не половина глобального рынка мобильной графики: гаджеты Apple и Amazon, планшетники Samsung Galaxy Tab 2, а также недорогие смартфоны на базе процессоров MTK.

Технология производства

Изначально полупроводниковые продукты на основе А7 производились по технологическим нормам 65 нм. Сейчас эта технология безнадежно устарела. В дальнейшем были выпущены еще два поколения процессоров А7 по нормам допуска уже 40 нм и 32 нм. Но и они сейчас уже стали неактуальными. Наиболее свежие модели ЦПУ на основе этой архитектуры изготавливаются уже по нормам 28 нм, и именно их пока еще можно встретить в продаже. Дальнейший переход на более новые технологические процессы с новыми нормами допуска и устаревшей архитектурой ожидать вряд ли стоит. Чипы на базе А7 сейчас занимают наиболее бюджетный сегмент рынка мобильных устройств и их постепенно вытесняют уже гаджеты на основе А53, которая практически при той же энергоэффективности параметрах имеет более высокий уровень быстродействия.

Устаревшие поколения чипов

Морально устаревшими, но все еще широко распространенными процессорными архитектурами являются ARM9 и ARM11, которые принадлежат к семействам ARMv5 и ARMv6 соответственно.

ARM9. Чипы ARM9 могут достигать тактовой частоты 400 МГц и, скорее всего, именно они установлены внутри вашего беспроводного маршрутизатора и старенького, но все еще надежно работающего мобильного телефона вроде Sony Ericsson K750i и Nokia 6300. Критически важным для чипов ARM9 является набор инструкций Jazelle, который позволяет комфортно работать с Java-приложениями (Opera Mini, Jimm, Foliant и др.).

ARM11. Процессоры ARM11 могут похвастаться расширенным по сравнению с ARM9 набором инструкций и куда более высокой тактовой частотой (вплоть до 1 ГГц), хотя для современных задач их мощности тоже не достаточно. Тем не менее, благодаря невысокому энергопотреблению и, что не менее важно, себестоимости, чипы ARM11 до сих пор применяются в смартфонах начального уровня: Samsung Galaxy Pocket и Nokia 500.

Чип Broadcom Thunderbird – один из немногочисленных представителей поколения ARM11, который до сих пор применяется в Android-смартфонах

Нововведения ARMv8

Обновленную архитектуру процессоров семейства ARMv8 окрестили именем AArch64. Она получила 64-битный набор инструкций и возможность работать с большим объемом оперативной памяти (4 Гбайт и больше). Само собой, предусмотрена совместимость с 32-битными приложениями (AArch42). Другими важными нововведениями ARMv8 стали:

— 31 регистр общего назначения, каждый длиной 64 бита, тогда как SP и PC не являются регистрами общего назначения. Чем выше разрядность регистров, тем больше числа можно в них хранить. А чем больше количество регистров, тем больше данних в них помещается одновременно. Как результат, за одну инструкцию можно обработать больший объем данних и весь алгоритм выполнится быстрее; — трансляция виртуальных адресов из 48-битного формата работает с помощью механизмов LPAE, позаимствованных у ARMv7; — новый набор инструкций с фиксированной длинной. Инструкции имеют размер 32 бита и многие совпадают с командами AArch42, хотя условных инструкций стало меньше; — увеличено с 16 до 32 количество 128-битных регистров (совместимы с 64-битными регистрами), доступных сопроцессорам SIMD NEON и VFP, а также добавлены новые криптографические инструкции AES и SHA. Набор инструкций SIMD NEON ускоряет работу приложений, отвечающих за обработку медиаданных и сигналов. В свою очередь VFP отвечает за малоэнергозатратные вычисления над числами с плавающей запятой; — поддержка вычислений над числами с плавающей запятой двойной точности и стандарта IEEE 754, который является общепринятым форматом представления чисел с плавающей запятой, используемый в программных реализациях арифметических действий.

Современные поколения чипов

Все более-менее новые чипы архитектуры ARM принадлежат к семейству ARMv7, флагманские представители которого уже достигли отметки в восемь ядер и тактовой частоты свыше 2 ГГц. Разработанные непосредственно ARM Limited процессорные ядра принадлежат к линейке Cortex и большинство производителей однокристальных систем используют их без существенных изменений. Лишь компании Qualcomm и Apple создали собственные модификации на основе ARMv7 – первая назвала свои творения Scorpion и Krait, а вторая – Swift.


Чип Apple A6 (ядро Swift) – первая попытка Купертино собственноручно модифицировать архитектуру ARMv7

ARM Cortex-A8. Исторически первым процессорным ядром семейства ARMv7 было Cortex-A8, которое легло в основу таких известных SoC своего времени как Apple A4 (iPhone 4 и iPad) и Samsung Hummingbird (Samsung Galaxy S и Galaxy Tab). Оно демонстрирует примерно вдвое более высокую производительность по сравнению с предшествующим ARM11. К тому же, ядро Cortex-A8 получило сопроцессор NEON для обработки видео высокого разрешения и поддержку плагина Adobe Flash.

Правда, все это негативно сказалось на энергопотреблении Cortex-A8, которое значительно выше чем у ARM11. Несмотря на то, что чипы ARM Cortex-A8 до сих пор применяются в бюджетных планшетниках (однокристальная система Allwiner Boxchip A10), их дни пребывания на рынке, по всей видимости, сочтены.


Однокристальная система TI OMAP 3 – представитель некогда популярного, но сейчас уже угасающего поколения ARM Cortex-A8

ARM Cortex-A9. Вслед за Cortex-A8 компания ARM Limited представила новое поколение чипов – Cortex-A9, которое сейчас является самым распространенным и занимает среднюю ценовую нишу. Производительность ядер Cortex-A9 выросла примерно втрое по сравнению с Cortex-A8, да еще и появилась возможность объединять их по два или даже четыре на одном чипе.

Сопроцессор NEON стал уже необязательным: компания NVIDIA в своей однокристальной системе Tegra 2 его упразднила, решив освободить побольше места для графического ускорителя. Правда, ничего хорошего из этого не вышло, ведь большинство приложений-видеопроигрывателей все равно ориентировались на проверенный временем NEON.


Почти все флагманские планшетные компьютеры образца 2011 года были построены на базе чипа NVIDIA Tegra 2

Именно во времена «царствования» Cortex-A9 появились первые реализации предложенной ARM Limited концепции big.LITTLE, согласно которой однокристальные системы должны иметь одновременно мощные и слабые, но энергоэффективные процессорные ядра. Первой реализацией концепции big.LITTLE стала система-на-чипе NVIDIA Tegra 3 с четырьмя ядрами Cortex-A9 (до 1,7 ГГц) и пятым энергоэффективным ядром-компаньоном (500 МГц) для выполнения простеньких фоновых задач.

ARM Cortex-A5 и Cortex-A7. При проектировании процессорных ядер Cortex-A5 и Cortex-A7 компания ARM Limited преследовала одно и ту же цель – добиться компромисса между минимальным энергопотреблением ARM11 и приемлемым быстродействием Cortex-A8. Не забыли и про возможность объединения ядер по два-четыре – многоядерные чипы Cortex-A5 и Cortex-A7 мало-помалу появляются в продаже (Qualcomm MSM8625 и MTK 6589).


Схема строения однокристальной системы c четырьмя ядрами ARM Cortex-A5

ARM Cortex-A15. Процессорные ядра Cortex-A15 стали логическим продолжением Cortex-A9 – как результат, чипам архитектуры ARM впервые в истории удалось примерно сравниться по быстродействию с Intel Atom, а это уже большой успех. Не зря ведь компания Canonical в системных требования к версии ОС Ubuntu Touch с полноценной многозадачностью указала двухъядерный процессор ARM Cortex-A15 или аналогичный Intel Atom.


Первой массовой однокристальной системой Cortex-A15 стала двухъядерная Exynos 5250, которая применяется в планшетнике Google Nexus 10 и лэптопе Samsung Chromebook

Очень скоро в продажу поступят многочисленные гаджеты на базе NVIDIA Tegra 4 с четырьмя ядрами ARM Cortex-A15 и пятым ядром-компаньоном Cortex-A7. Вслед за NVIDIA концепцию big.LITTLE подхватила смартфона Galaxy S4 стал чип Exynos 5 Octa с четырьмя ядрами Cortex-A15 и таким же количеством энергоэффективных ядер Cortex-A7.


Схема однокристальной системы big.LITTLE с процессорными ядрами ARM Cortex-A15 (big) и Cortex-A7 (LITTLE)

NVIDIA Tegra K1 (Project Denver)

Компания NVIDIA решила перевести на 64-битную процессорную архитектуру свой уже существующий чип Tegra K1. Графическая составляющая у него и раньше была едва ли не лучшей среди конкурентов – GK20A с 192 ядрами Kepler, производительностью 365 GFLOPS и поддержкой ПК-стандартов графики DirectX 11.2 и OpenGL 4.4 (а не их мобильных аналогов).

Вместо же четырех 32-битных ядер Cortex-A15 (плюс пятое энергоэффективное ядро) обновленная однокристальная система Tegra K1 получит два ARMv8-совместимых ядра фирменной архитектуры NVIDIA Project Denver. Тактовая частота процессора вырастет до 2,5 ГГц, увеличится и объем кеша. Интересный факт: графика Tegra K1 примерно в пятьдесят раз мощнее Tegra 2.

Дальнейшие перспективы

Мобильные гаджеты на базе чипов Cortex-A15 еще толком не появились в продаже, а основные тенденции дальнейшего развития архитектуры ARM уже известны. Компания ARM Limited уже официально представила следующее семейство процессоров ARMv8, представители которого в обязательном порядке будут 64-разрядными. Открывают новую эпоху RISC-процессоров ядра Cortex-A53 и Cortex-A57: первое энергоэффективное, а второе высокопроизводительное, но оба способны работать с большими объемами оперативной памяти.

Производители потребительской электроники семейством процессоров ARMv8 пока особо-то не заинтересовались, но на горизонте вырисовались новые лицензиаты, планирующие вывести чипы ARM на серверный рынок: AMD и Calxeda. Идея новаторская, но вполне имеет право на жизнь: те же графические ускорители NVIDIA Tesla, состоящие из большого числа простых ядер, на практике доказали свою эффективность как серверных решений.

Конкуренция на рынке и перспективы на будущее

Стоит признать, на данный момент у ARM нет серьезных конкурентов. И по большому счету это связано с тем, что компания ARM Limited в определенное время сделала правильный выбор. А ведь в самом начале своего пути компания выпускала процессоры для ПК и даже пыталась конкурировать с Intel. После того, как ARM Limited поменяла направление своей деятельности, ей также было непросто. Тогда программный монополист в лице Microsoft, заключив партнерское соглашение с Intel, не оставил никаких шансов другим производителям, в том числе и ARM Limited – ОС Windows просто не работала на системах с процессорами ARM. Как бы парадоксально это не звучало, но сейчас ситуация может кардинально измениться, и уже ОС Windows готова поддерживать процессоры на этой архитектуре.

На волне успехов чипов ARM компания Intel предприняла попытку создать конкурентоспособный процессор и вышла на рынок с чипом Intel Atom. Для этого ей потребовалось гораздо больше времени, нежели ARM Limited. В производство чипсет поступил в 2011 году, но, как говорится, поезд уже ушел. Intel Atom является CISC-процессором с архитектурой x86. Инженеры компании добились более низкого энергопотребления, нежели в ARM, однако на текущий момент разнообразный мобильный софт имеет плохую адаптацию к архитектуре x86.

В прошлом году Intel отказалась от нескольких ключевых решений в дальнейшем развитии мобильных систем. Фактически ]признала провал и отказалась от разработки процессоров[/anchor] для мобильных устройств, поскольку они стали нерентабельными. Единственным крупным производителем, который комплектовал свои смартфоны чипсетами Intel Atom, был ASUS. Однако массовое использование Intel Atom все же получил в нетбуках, неттопах и других портативных устройствах.

Положение ARM Limited на рынке уникальное. На данный момент практически все производители пользуются ее разработками. При этом у компании нет собственных заводов. Это не мешает ей стоять в одном ряду с Intel и AMD. История ARM включает еще один любопытный факт. Не исключено, что сейчас технология ARM могла бы принадлежать компании Apple, которая стояла в основе формирования ARM Limited. По иронии судьбы в 1998 году купертиновцы, переживая кризисные времена, продали свою долю. Теперь Apple вынуждена наряду с другими компаниями покупать лицензию на процессоры ARM, используемые в iPhone и iPad.

Сейчас процессоры ARM способны выполнять серьезные задачи. В ближайшей перспективе – использование их в серверах, в частности такие решения уже имеют дата-центры Facebook и PayPal. В эпоху развития интернета вещей (IoT) и «умных» бытовых устройств чипы ARM получили еще большую востребовательность. Так что самое интересное у ARM еще впереди.

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

Проводить сравнение по этому параметру довольно трудно, поскольку оба бренда очень популярны в своих кругах. Устройства, которые основываются на процессорах arm-архитектуры, прекрасно работают с мобильными операционными системами (Android и прочее).

Машины под управлением процессоров от Intel способны работать с платформами наподобие Windows и Linux. К тому же оба семейства микропроцессоров дружат с приложениями, написанными на языке Java.

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

Выводы

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

А как вы относитесь к этим x86 и ARM? За какой технологией будущее по вашему мнению? Напишите в комментариях! Кстати, Линус Торвальдс предпочитает x86.

На завершение видео о развитии арихтектуры ARM:

Похожие записи:

Нет похожих записей

Модели процессоров

Наиболее доступными и наименее производительными в этом случае являются 1-ядерные чипы. Наибольшее распространение среди них получил МТ6571 от компании МедиаТек. На ступеньку выше находятся двухъядерные ЦПУ ARM Cortex A7 Dual Core. В качестве примера можно привести МТ6572 от все того же самого производителя. Еще больший уровень быстродействия обеспечивали Quad Core ARM Cortex A7. Наиболее популярным чипом из этого семейства является МТ6582, который сейчас даже можно встретить в мобильных гаджетах начального уровня. Ну а наибольший уровень быстродействия обеспечивали 8-ядерные центральные процессоры, к которым принадлежал МТ6595.

Windows на архитектуре ARM — UWP applications

  • Статья
  • Чтение занимает 3 мин

Были ли сведения на этой странице полезными?

Да Нет

Хотите оставить дополнительный отзыв?

Отзывы будут отправляться в корпорацию Майкрософт. Нажав кнопку «Отправить», вы разрешаете использовать свой отзыв для улучшения продуктов и служб Майкрософт. Политика конфиденциальности.

Отправить

В этой статье

Windows могут выполняться на компьютерах, работающих под управлением процессоров ARM64. Архитектура процессора ARM, характерная для энергосбережения, позволяет этим компьютерам работать со временем жизни аккумулятора и интегрированной поддержкой сетей мобильных данных. Эти компьютеры также обеспечивают высокую совместимость приложений и позволяют запускать существующие приложения Win32 x86 без изменений.

мы используем термин « ARM » в качестве краткой формы для компьютеров, на которых работает настольная версия Windows ARM64 (также называемых AArch64) процессорами. Мы используем здесь термин ARM32 в качестве сокращения для 32-разрядной архитектуры ARM (которую в другой документации обычно называют ARM).

Приложения и взаимодействия в ARM

встроенные возможности Windows, приложения и драйверы

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

Приложения универсальной платформы Windows (UWP)

Windows на ARM запускает все приложения UWP для x86, ARM32 и ARM64 из Microsoft Store. Приложения ARM32 и ARM64 работают изначально без эмуляции, тогда как приложения x86 работают в режиме эмуляции. Разработчикам UWP необходимо отправить пакет ARM для своего приложения, поскольку это обеспечит максимальное удобство использования приложения на устройстве. Дополнительные сведения см. в статье Архитектуры пакета приложения.

Примечание

чтобы создать приложение UWP, предназначенное для платформы ARM64, необходимо иметь Visual Studio 2017 версии 15,9 или более поздней или Visual Studio 2019. дополнительные сведения см. в записи блога: официальная поддержка Windows 10 для разработки ARM.

Важно!

Windows в ARM поддерживает приложения UWP x86, ARM32 и ARM64 из Store на устройствах ARM64. Когда пользователь скачивает приложение UWP на устройстве ARM64, ОС автоматически устанавливает оптимальную версию доступного приложения. Если вы отправляете в магазин версии x86, ARM32 и ARM64, ОС автоматически установит версию ARM64 приложения. Если вы отправляете только версии x86 и ARM32 для приложения, ОС установит версию ARM32. Если вы отправляете только версию x86 приложения, ОС установит эту версию и запустит ее в процессе эмуляции. Дополнительные сведения об архитектурах см. в статье Архитектуры пакета приложения.

приложения Win32;

помимо приложений UWP, Windows на ARM могут также запускать приложение win32 desktop апппс, скомпилированное изначально для ARM64, а также существующие приложения x86 win32 без изменений, с хорошей производительностью и удобством работы пользователей, точно так же, как любой компьютер. Эти приложения Win32 x86 не нужно перекомпилировать для ARM и даже не осознают, что они работают на процессоре ARM.

приложения для x86-64

Начальная поддержка приложений x86-64 была добавлена в сборку 21277, и сейчас она разрабатывается. Если 64-разрядная версия приложения Win32 не работает, в подавляющем большинстве приложений также доступны версии x86. при выборе архитектуры приложения просто выберите 32-разрядную версию x86 для запуска 32-разрядной версии приложения на Windows 10 на компьютере ARM.

Файлы для загрузки

Visual Studio 2019 предоставляет несколько загружаемых средств для Windows на ARM. пользователи, по-прежнему использующие Visual Studio 2017, могут использовать установщик для поиска и установки сопоставимых средств и пакетов. обратите внимание, что для выполнения этих действий необходимо использовать Visual Studio 2019.

Распространяемый компонент Visual C++

Распространяемый пакет Visual C++ доступен для приложений ARM. посетите страницу загрузки Visual Studio прокрутите вниз до пункта все загрузки, откройте другие средства и платформы, а затем перейдите к Microsoft Visual C++ распространяемый пакет для Visual Studio записи 2019 . Выберите переключатель ARM64 , а затем Скачайте.

Удаленные средства

Инструменты удаленной отладки для Visual Studio доступны для приложений ARM. перейдите на страницу загрузки Visual Studio прокрутите вниз до пункта загрузки, откройте инструменты для Visual Studio 2019, а затем перейдите к записи Инструменты удаленной отладки для Visual Studio 2019 . Выберите переключатель *ARM64 , а затем Скачайте.

Дополнительные ресурсы

Обзоры

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

  • 2021 — (Журнал «СТА»)
  • 2021 — (Журнал «СТА»)
  • 2020 — (Журнал «СТА»)
  • 2020 — (Журнал «СТА»)
  • 2019 — (Журнал «СТА»)
  • 2019 — (Журнал «СТА»)
  • 2019 — (Журнал «СТА»)
  • 2018 — (Журнал «СТА»)
  • 2017 — (Издание PC Week/RE)
  • 2017 — (Портал Elec. ru)
  • 2017 — (Издание PC Week/RE)
  • 2017 — (Издание PC Week/RE)
  • 2016 — (журнал «Алгоритм безопасности»)
  • 2015 — (КИП «Индустрия & КИПиА»)
  • 2014 — («Российская газета»)
  • 2014 — (Газета «КоммерсантЪ»)
  • 2014 — (Портал Минпромтог России)
  • 2014 — (Портал Департамента радиоэлектронной промышленности Минпромторга)
  • 2014 — (Журнал REM)
  • 2014 — (Журнал «Эксперт»)
  • 2014 — (Портал CRN)
  • 2014 — (Портал «Управление производством»)
  • 2013 — (www.pta-expo.ru)
  • 2013 — (CONTROL ENGINEERING РОССИЯ, №3(45) 2013)
  • 2013 — (Gerald W. Cockrell CAP)
  • 2013 — (Prepared by Piergiuseppe (Pino) Zani)
  • 2013 —
  • 2013 — (Nasledie.ru)
  • 2013 — («Эксперт Урал» №8 (545))
  • 2013 — (www. i-russia.ru)
  • 2013 — (www.up-pro.ru)
  • 2013 — (www.pta-expo.ru)
  • 2012 — (www.Neftegaz.RU)
  • 2012 — (www.pta-expo.ru)
  • 2012 — (www.pta-expo.ru)
  • 2012 — (Бизнес и класс, 2012)
  • 2012 — (Рынок электротехники, сентябрь, 2012)
  • 2012 — (Деловая Россия: промышленность, транспорт, социальная жизнь № 8 2012)
  • 2012 — (Автоматизация и IT в энергетике, №7(36), июль 2012)
  • 2012 — (КИПИНФО, №9 июнь 2012)
  • 2012 — (CONTROL ENGINEERING РОССИЯ, июнь 2012)
  • 2012 — (Автоматизация в промышленности, май 2012)
  • 2012 — (www.pta-expo.ru)
  • 2012 — (ЭЛЕКТРОНИКА НТБ 2(00116) 2012)
  • 2012 — (Промышленные страницы Сибири № 3(62) апрель 2012)
  • 2012 — (СТА №2/2012)
  • 2012 — (www. pta-expo.ru)
  • 2012 — (CONTROL ENGINEERING РОССИЯ №4/2012)
  • 2012 — (www.energypolis.ru)
  • 2012 — (www.pta-expo.ru)
  • 2012 — (www.i-smarthouse.ru)
  • 2012 — (www.pta-expo.ru)
  • 2011 — (www.pta-expo.ru)
  • 2011 — (www.pta-expo.ru)
  • 2011 — (www.up-pro.ru)
  • 2011 — (www.dkvartal.ru)
  • 2011 — (www.expert-ural.com)
  • 2010 — (www.up-pro.ru)
  • 2010 — (Профессиональный журнал, №4(76))
  • 2010 — (www.cnews.ru)
  • 2010 — (www.pta-expo.ru)
  • 2010 — (www.pta-expo.ru)
  • 2008 — (ИСУП, №4(20))
  • 2008 — (www.pcweek.ru)
  • 2008 — (www.pta-expo.ru)
  • 2008 — (www.ingener.info)
  • 2008 — (www.yokogawa.ru)
  • 2007 — (www. ingener.info)
  • 2007 — (www.ingener.info)
  • 2001 —
  • 2001 — (www.pcweek.ru)
  • 1994 — (www.mka.ru)
  • 1993 — (www.kommersant.ru)
  • — (Журнал Control Engineering Russia)

Мы нацелены на развитие проекта, очень мобильны и открыты для сотрудничества.
Если Вы располагаете интересными материалами, соответствующими концепции проекта,
присылайте их по адресу: [email protected]
или свяжитесь с нами по телефону: +7 (495) 234 22 10.
Авторские права строго соблюдаются.

RISC VS. CISC не является неправильным объективом для сравнения современного X86, ARM CPU

  1. Проекты
  2. Новости
  3. RISC VS. CISC не является неправильным объективом для сравнения современного X86, ARM CPU

Вскоре с WWDC Apple появится в ближайшее время, мы ожидаем узнать больше о обновленном обновлении компании MacBook Pro MacBook. Слухи указывают на Apple, запускающие шифер модернизированных систем, на этот раз на основе его CPU «M2», масштабированной версии ядра M1, который дебютировал в прошлом году. M2 может, как сообщается, обладает восемью высокопроизводительными ядрами и двумя высокоэффективными сердечниками, вверх из конфигурации 4 + 4 в существующем M1.

С запуском M1 на основе ARM пришла к совокупности X86-VOUS-ARM и онлайн-обсуждения, сравнивающих и контрастную новую архитектуру. В этих потоках вы часто видите, что авторы поднимают две дополнительные аббревиатуры: CISC и RISC. Связь между «ARM VERSUS X86» и «CISC по сравнению с RISC» настолько прочна, каждая единственная история на первой странице результатов Google определяет первую со ссылкой на вторую.

Эта ассоциация по ошибке предполагает, что «X86 против ARM» можно аккуратно классифицировать в «CISC против RISC», с помощью X86, будучи CISC и ARM RISC. Тридцать лет назад это было правдой. Это не так сегодня. Битва над тем, как сравнить X86 CPU для процессоров, построенных другими компаниями, не новая. Это только новое сегодня, потому что X86 не имел значимого архитектурного соперника почти на два десятилетия. ARM может заметно определить себя как компанию RICH CPU, но сегодня эти термины скрывают столько, сколько они проявляют в отношении современного штата X86 и ARM CPU.

Упрощенная история частей люди согласны на

RICH — это термин, придуманный Дэвидом Паттерсоном и Дэвидом Дитзелем в своей семенной бумаге 1981 года «Чехол для уменьшенного компьютера набора инструкций». Двое мужчин предложили новый подход к полупроводниковому дизайну, основанный на наблюдаемых тенденциях в конце 1970-х годов, и проблемы масштабирования, встречающихся потом ток CPU. Они предложили термин «CISC» — сложный компьютер набора инструкций — описать многие из различных архитектур процессоров, уже существовали, которые не следовали принципам РСС.

Эта воспринимаемая потребность в новом подходе к дизайну процессора пришла в виде узких мест, ограничивающих производительность ЦП. Так называемые конструкции CISC, в том числе оригинал 8086, были разработаны для решения высокой стоимости памяти, перемещая сложность в оборудовании. Они подчеркивали плотность кода, а некоторые инструкции выполняли несколько операций в последовательности в переменной. Как дизайн философии, CISC пытался повысить производительность, минимизируя количество инструкций, который должен был выполнить процессор, чтобы выполнить заданную задачу. Архитектура инструкций CISC CISC Обычно предложила широкий спектр специализированных инструкций.

К концу 1970-х годов CSC CPU был несколько недостатков. Они часто должны были быть реализованы на нескольких чипах, потому что методы VLSI (очень крупномасштабная интеграция) периода времени не смогли упаковать все необходимые компоненты в один пакет. Реализация сложных архитектур набора инструкций, при поддержке большого количества редко используемых инструкций, потребляемого пространства умирают и пониженные максимальные достижимые часовые скорости. Между тем стоимость памяти неуклонно уменьшается, делая акцент на размере кода менее важно.

Паттерсон и Дицел утверждали, что процессоры CISC все еще пытались решить проблему в раздувании кода, которые никогда не были вполне материализованы. Они предложили принципиально другой подход к дизайну процессора. Понимая, что подавляющее большинство инструкций CISC было неиспользовано (думать об этом как на применение принципа Парето, или 80/20 правила), изобретатели RITC предложили гораздо меньший набор инструкций с фиксированной продолжительностью, все это будет завершено в Один тактный цикл. Хотя это приведет к тому, что CPU RSC, выполняющий меньше работы за инструкцию, чем его коллеги CISC, дизайнеры чипов компенсируют это, упрощая свои процессоры.

Это упрощение позволит тратить транзисторные бюджеты на другие функции, такие как дополнительные регистры. Предлагаемые будущие функции в 1981 году включали «на чипках кеши, большие и быстрые транзисторы или даже трубопровод». Цель процессоров RISC заключалась в том, чтобы выполнить как можно ближе к одному IPC (инструкции на часовой цикл, меру эффективности процессора), максимально быстро. Реализуйте ресурсы в этой моде, авторы утверждали, а конечный результат превзойдет любой сравнительный дизайн CISC.

Это не потребовалось много времени для этих принципов дизайна, чтобы доказать свою ценность. R2000, введенный MIPS в 1985 году, был способен поддерживать IPC, близкую к 1 в определенных обстоятельствах. Ранние семейства процессоров RISC, такие как SPARC и семья PA-RISC PA-RISC, также устанавливают записи о производительности. В конце 1980-х и начале 1990-х годов было общим слышать, что люди говорят, что архитектуры, основанные на CISC, такие как X86, были прошлыми, и, возможно, достаточно хороши для домашних вычислений, но если вы хотели работать с настоящим процессором, вы купили чип RISC Отказ Центры обработки данных, рабочие станции и HPC — это то, где RISC CPU были наиболее успешными, как показано ниже:

Подумайте о том, что говорится в этом изображении о состоянии рынка процессора в 1990 году. К 1990 году X86 ограничивало процессоры Non X86 до 20 процентов от персонального компьютерного рынка, но оно практически не было никакой доли X86 в центрах обработки данных и нет в ГПК. Когда Apple хотела сделать ставку на конструкцию CPU следующего поколения, он решил сделать ставку на PowerPC в 1991 году, потому что он считал высокопроизводительными процессорами, построенными вдоль принципов RISC, было будущее вычислений.

Соглашение о взаимной истории CISC и RISC останавливается в начале 1990-х годов. Тот факт, что архитектура Intel X86 продолжала доминировать в вычислительной отрасли через ПК, центры обработки данных, а также высокопроизводительные вычисления (HPC), бесспорный. Что оспаривается, достигнут ли INTEL и AMD, приняв определенные принципы дизайна RISC или, если их претензии сделать это, были ложью.

Расходящиеся взгляды

Одна из причин, почему термины, такие как RISC и CISC, плохо понимаются, является из-за давнего несогласия относительно смысла и характера некоторых событий ЦП. Пара цитат проиллюстрирует проблему:

Во-первых, вот Пол Demone от Realworldtech, в «RISC VS. CISC все еще имеет значение:»

Кампания по оформлению четкого различия между RISC и CISC переместилась на высокую передачу с появлением современных реализаций процессора X86, используемых словами, использующими словами, выполняющие элементы управления длиной, чтобы управлять путями данных о выполнении заказа … «RISC и CISC сходятся» Принципиально ошибочная концепция, которая возвращается к запуску I486 в 1992 году и укоренившись к широкому незнанию различий между архитектурами набора инструкций и деталями реализации физического процессора.

Напротив, вот Jon «Hannibal» Stokes в «RISC VS. CISC: ERA Post-Risc:»

К настоящему времени следует очевидно, что аббревиатуры «RISC» и «CISC», о том, что оба дизайна философии имеют гораздо больше, чем просто простота или сложность набора инструкций … В свете того, что мы теперь знаем о историческом Разработка RISC и COSC и проблемы, которые каждый подход пытался решить, теперь следует очевидно, что оба термины одинаково бессмыслены … какой бы ни был дискуссию «RISC VS. CISC», которые когда-то продолжались, давно закончилось, и что теперь нужно следовать Является более нюансированным и гораздо более интересным обсуждением, которое требует каждая платформа-оборудование и программное обеспечение, ISA и внедрение — на собственные достоинства.

Ни одна из этих статей не является новым. Статья Stokes была написана в 1999 году, в 2000 году «Демоне» в 2000 году. Я процитировал из них оба, чтобы продемонстрировать, что вопрос о том, является ли RISC против различия CISC, имеет отношение к современным вычислениям, буквально более 20 лет. Джон Стокс — бывший собеседник моего и более чем экспертной, чтобы не попасть в «невежество» ловушку демонстрации.

Реализация против ИСА

Две цитаты выше, захватывают два разных взгляда на то, что значит говорить о «CISC против RISC». Взгляд демона в целом похож на взгляд на руку или яблоко. Назовите это ISA-ориентированное положение.

Точка зрения STOKES — это то, что вообще преобладало думать на PC Press в течение последних нескольких десятилетий. Мы будем называть это позицией, ориентированной на реализацию. Я использую слово «Реализация», поскольку он может контекстуально относиться к микроархитектуру как микроархитектуры ЦП, либо в узле процесса, используемого для изготовления физического чипа. Оба этих элемента имеют отношение к нашему обсуждению. Две позиции описываются как «ориентированные», потому что между ними есть перекрытие. Оба автора признают и согласуются со многими тенденциями, даже если они достигают разных выводов.

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

Эта ISA-ориентированная перспектива проводит, что Intel, AMD и X86 выиграли через MIPS, SPARC и Power / PowerPC по трем причинам: превосходное производство процессов Intel, постепенное снижение так называемого «налога в CISC» с течением времени, когда превосходный Изготовление включено, и что двоичная совместимость сделала x86 более ценным, поскольку его установка выросла, была ли это лучшее ISA.

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

Вот пример. Сегодня и X86, так и высококачественные процессоры ARM используют выполнение вне порядка для улучшения производительности процессора. Использование кремния для повторного заказа инструкций на лету для лучшего эффективности исполнения полностью наступает в результате исходной философии дизайна RISC. Patterson и Ditzel выступают за менее сложный CPU, способный работать на более высоких частотах. Другие распространенные особенности CPU CPU современного ARM, такие как единицы исполнения SIMD и предсказание ветвления, также не существовали в 1981 году. Оригинальная цель РБС была для всех инструкций для выполнения в одном цикле, и большинство инструкций ARM соответствуют этому правилу, но ISAS ARMV8 и ARMV9 содержит инструкции, которые требуют более одного цикла такса для выполнения. Так что делайте современные процессоры X86.

Представление, ориентированное на реализацию о том, что комбинация улучшений улучшений процессов и улучшений микроархитектуры позволила X86 закрыть разрыв с процессором RISC давно и что различия на уровне ISA не имеют значения выше очень низкой энергетической конверсии. Это точка зрения, поддерживаемая исследованием 2014 года по эффективности ISA, о котором я написал в прошлом. Это точка зрения, как правило, поддерживается Intel и AMD, и это одна я уже спорил.

Но это неправильно?

Собраняется развитие RISC и CISC?

Просмотр, ориентированное на реализацию заключается в том, что процессоры CISC и RICH и RICH были развиты друг к другу в течение десятилетий, начиная с принятия новых «аналогичных» методов декодирования «RISC» для процессоров X86 в середине 1990-х годов.

Общее объяснение идет так: в начале 1990-х годов Intel и другие производители процессоров X86 поняли, что улучшение производительности процессоров в будущем потребуется больше, чем большие кэши или быстрые часы. Несколько компаний решили инвестировать в микроархитектуры CPU CPU X86, которые будут заменять свои собственные ручьи инструкций на лету, чтобы улучшить производительность. Как часть этого процесса, нативные инструкции X86 были поданы в декодер X86 и переведены на «resc-подобные» микрооперации, прежде чем быть выполненным.

Сейчас это было обычная мудрость в течение двух десятилетий, но в последнее время она была оспорена в последнее время. В истории, размещенной в среднем обратно в 2020 году, Эрик Энгхайм писал: «В фишках X86 нет внутренних чипов RISC. Это просто маркетинговая уловка ». Он указывает на оба истории демона, так и цитаты Боб Колвелл, главным архитектором за микроархитектурой P6.

Микроархитектура P6 была первой Intel MicroArchecture для реализации выполнения вне заказа и нативный механизм X86-Micro-OP DeCode. P6 был отправлен в виде Pentium Pro, и он превратился в Pentium II, Pentium 3 и за его пределами. Это дедушка современного CPU CPUS. Если кто-то должен знать ответ на этот вопрос, это будет Колвелл, поэтому вот что он должен был сказать:

У Intel X86 нет двигателя RISC «под капотом». Они реализуют архитектуру набора инструкций x86 через схему декодирования / выполнения, полагаясь на отображение инструкций X86 в машинные операции или последовательности операций машин для сложных инструкций, и эти операции, которые затем проходят через микроархитектуру, подчиняющиеся различным правилам зависимостей данных и в конечном итоге время секвенирование.

«Micro-Ops», которые выполняют этот подвиг, имеют ширину более 100 битов, несут все виды нечетной информации, не могут быть непосредственно сгенерированы компилятором, не обязательно являются одиноким циклом. Но самое все, что они являются артефайцем микроархитектуры — RISC / CISC — это risc / CISC, касается архитектуры набора инструкций … Идея Micro-Op не была «вдохновленной RSC», «RISC-Alude» или вообще связана с Risc. Это была наша команда дизайна, находящей способ нарушения сложности очень сложной инструкции, установленной вдали от возможностей микроархитектуры и ограничений, присутствующих в конкурентном микропроцессоре.

Дело закрыто! Верно?

Не совсем. (Нажмите выше для приближения того, как я чувствую, когда даже появляюсь, чтобы противоречить Бобу Колвелле)

Intel не был первым производителем CPU CPU X86 для совместного объединения линейного декодера X86 с тем, что было заявлено, что он был занесен «Стиль RISC». Нексген, позже приобретенный AMD, был. DEXGEN 5 × 86 CPU дебютировал в марте 1994 года, в то время как Pentium Pro не будет запустить до ноября 1995 года. Вот как Nexgen описал свой процессор: «Процессор NX586 — это первая реализация инновационного и запатентованного микроархитектуры Nexgen». (Акцент добавлен). Позже компания дает несколько дополнительных деталей: «Инновационный подход Riss86 динамически переводит инструкции X86 в инструкции RISC86. Как показано на рисунке ниже, NX586 использует преимущества принципов производительности RISC. Благодаря окружающей среде RISCH86 каждый блок выполнения меньше и компактнее ».

Все еще можно утверждать, что это маркетинг говорит и ничего более, так что давайте наступим до 1996 года и AMD K5. K5, как правило, описывается как фронт-конце X86, женат на исполнении Backend AMD, заимствованной из 32-битного микроконтроллера RISC, AM29000. Прежде чем мы проверим свою блок-схему, я хочу сравнить его против оригинального Intel Pentium. Pentium, возможно, Pentnacle Evolution CISC X86, учитывая, что она реализует как кондиционирование, так и сверхсказание в CPU X86, но не преобразует инструкции X86 в Micro-OPS и не хватает механизма выполнения вне заказа.

Теперь сравните Pentium против AMD K5.

Если вы потратили в любое время, глядя на микропроцессорные блок-диаграммы, K5 должен выглядеть знакомым таким образом, что Pentium не имеет. AMD купил Nexgen после запуска NX586. K5 был домашним дизайном AMD, но изначально был продуктом Nexgen. С этого момента вспомогательные процессоры начинают больше похожи на чипсы, на которые мы знакомы сегодня. И, по словам инженеров, которые спроектировали эти чипы, сходства побежали больше, чем кожа глубоко.

Дэвид Кристи AMD опубликовал статью в IEEE Micro на K5 обратно в 1996 году, которая говорит о том, как он гибридизовал RISC и CISC:

Мы разработали микро-ISA, основанное на основе набора инструкций 29000. Несколько дополнительных полей управления расширили размер микроинструкции до 59 битов. Некоторые из них упрощают и ускоряют логику управления SuperScalar. Другие предоставляют X86-специфические функции, которые являются слишком эффективными, критически важными для синтеза с последовательностями микро инструкции. Но эти микроинструкции по-прежнему придерживаются основных принципов RISC: простой реестр — для регистрации операций с фиксированной кодировкой указателей регистров и других полей, и не более одной ссылки на память на операцию. По этой причине мы называем их операциями RISC или ROPS для коротких (выраженных R-OPS). Их простая, общенаправленная природа дает нам большую гибкость в реализации более сложных операций X86, помогая сохранить логику выполнения относительно простым.

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

Кристи не путает разницу между ISA и деталями физической реализации ЦП. Он утверждает, что физическая реализация сама по себе «RISC — подобная» в значительных и важных способах.

Повторные б / у RE-END-END-END-END AMD AMD, разработанные для его семейства RSC CPU AM29000, и он реализует внутренний набор инструкций, который является более RISC-подобным, чем нативные X86 ISA. Техника «Стиль RISC Nexgen и AMD» относятся в течение этого периода опорных концепций, таких как кэширования данных, трубопроводы и суперскалярные архитектуры. Два из них — кеши и трубопроводы — названы в документе Паттерсона. Ни одна из этих идей не является строго Risc, но все сначала все дебютировала в процессоре RISC, и они были преимуществами, связанными с RISC CPU, когда K5 был новым. Маркетинг этих возможностей как «RISC-подобное» имел смысл по той же причине, имел смысл для OEM эпохи, чтобы описать свои ПК как «IBM-совместимый».

Степень, в которой эти функции RISC и ответ на то, следует ли X86 CPU Decode Risc-образные инструкции зависит от критериев, которые вы выбираете, чтобы оказать вопрос. Аргумент больше, чем Pentium Pro, даже если P6 является микроархитектурой, наиболее связанным с эволюцией методов, таких как механизм выполнения вне заказа. Различные инженеры в разных компаниях имели свои собственные точки зрения.

Насколько обременены X86 процессорами в современной эпоху?

Прошлое никогда не мертво. Это даже не прошлое. — Уильям Фолкнер

Пришло время тянуть эту дискуссию в современную эпоху и подумать о том, какие значения сравнения этого «RISC по сравнению с CISC» предназначены для ARM и CPU CPUS X86 на самом деле доставки сегодня. Вопрос, который мы действительно спрашиваем, когда мы сравниваем CPU AMD и Intel с M1 Apple M1 и будущим M2, заключается в том, есть ли исторические узкие места X86, которые предотвратит эффективное количество конкурентов X86 с Apple и Bute Cheap от компаний, таких как Qualcomm?

Согласно AMD и Intel: Нет. По данным ARM: Да. Поскольку все в вопросе компаний имеют очевидные конфликты, представляющие интерес, вместо этого я попросил Агнер Туман.

Агнер Туман — датский эволюционный антрополог и компьютерный ученый, известный обширных ресурсах, которые он поддерживает на архитектуре X86. Его микроархитектурные руководства практически требуются чтением, если вы хотите понять низкоуровневое поведение различных Intel и AMD CPU:

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

Сложный X86 ISA делает декодирование узкого места. Инструкция X86 может иметь любую длину от 1 до 15 байтов, и она вполне сложна для расчета длины. И вам нужно знать длину одной инструкции, прежде чем вы сможете начать декодировать следующий. Это, безусловно, проблема, если вы хотите декодировать 4 или 6 инструкций на тактовой цикл! И Intel и AMD теперь продолжают добавлять более крупные кеши микро-оп, чтобы преодолеть это узкое место. ARM имеет фиксированные инструкции, чтобы это узкое место не существует, и нет необходимости в кэше микро-OP.

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

X86 ISA довольно успешна, несмотря на эти бремя. Это потому, что это может сделать больше работы за обучение. Например, RICH ISA с 32-разрядными инструкциями не может загрузить операнду памяти в одну инструкцию, если ему нужны 32 бита только для адреса памяти.

В своем микроархитектурном руководстве Agner также пишет, что более поздние тенденции в разработке AMD и Intel CPU оказались в результате прослушивания к принципам CISC, чтобы лучше использовать ограниченные кэширует Code Caches, увеличить пропускную способность трубопровода и уменьшить потребление мощности, сохраняя микро-оппос Отказ Эти улучшения представляют микроархитектурные смещения, которые улучшили общую производительность и эффективность и энергоэффективность X86.

А вот, наконец, мы приходим в сердце вопроса: насколько тяжелый штраф делает современные AMD и Intel CPU за счет совместимости X86?

Узкое место декодирования, прогноз ветвления и сложности трубопроводов, которые Agner относится к выше, являются частью «налога на CISC», которую Arm Arms утверждает X86. В прошлом Intel и AMD заявили, что Power Power Decode — это однозначный процент общего потребления чипов. Но это не значит много значит, если CPU сжигается мощность для микропрепочечного кэша или сложного предиктора ветви, чтобы компенсировать недостаток полосы пропускания декодирования. Микрооперативное энергопотребление в кеше и энергопотребление прогнозирования ветвления определяется микроархитектурой CPU и его узлом процессов производства. «RISC против CISC» не адекватно захватывает сложность отношений между этими тремя переменными.

Это займет несколько лет, прежде чем мы узнаем, если Apple M1 и будущие процессоры от Qualcomm представляют собой море моря на рынке или на следующий вызов AMD и Intel в возрасте. Будь то поддержание совместимости X86 — это бремя для современных процессоров, является как новый вопрос, так и очень старый. Новое, потому что до запуска M1 не было никакого значимого сравнения. Старый, потому что эта тема использовалась, чтобы получить довольно много дискуссии, когда в персональных компьютерах все еще использовались процессоры без x86.

AMD продолжает улучшать дзен на 1.15X — 1,2x в год. Мы знаем, что озеро Alder Intel также будет использовать сердечники CPU Low-Power X86 для улучшения потребления мощности бездействия. Оба производителя X86 продолжают развивать свои подходы к производительности. Потребуется время, чтобы увидеть, как эти ядра, и их преемники, карта против будущих продуктов Apple — но X86 не выходит из этого боя.

Почему RISC VS. COSC является неправильным способом сравнить x86, ARM CPU

Когда Patterson и Ditzel придумали Risc и CISC, они намеревались уточнить две разные стратегии дизайна процессора. Сорок лет, термины неразрешены столько, сколько они уточняют. RISC и COSC не имеют бессмысленного, но смысл и применимость обоих терминов стали очень контекстуальными.

Проблема с использованием RISC против COSC в качестве объектива для сравнения CPU для сравнения современных X86 против ARM CPUS заключается в том, что требуется три специфических атрибута, которые имеют значение для сравнения ARM для сравнения ARM X86 Versus — процесса, микроархитектуры и ISA — раздают их до одного, а затем объявляют Рука превосходит на основе АСА один. «ISA-Centric» по сравнению с реализацией «является лучшим способом понимания темы, при условии, что один вспоминает, что есть диаграмма в целях согласованных важных факторов между двумя. Конкретно:

ISA-ориентированный аргумент признает, что производственная геометрия и микроархитектура важны и были исторически ответственными за доминирование X86 на рынке PC, Server и HPC. Этот взгляд удерживает, что когда преимущества производственного мастерства и установки базы контролируются для или Nullified, RISC — и по расширению, CPU ARM — обычно доказывают превосходное значение X86 CPU.

Реализационный ориентированный аргумент признает, что ISA может и имеет значение, но это исторически, микроархитектура и геометрия процесса имеют значение больше. Intel все еще восстанавливается из некоторых из худших задержек в истории компании. AMD все еще работает над улучшением Рызена, особенно на мобильном. Исторически обоих производителей X86 продемонстрировали способность эффективно конкурировать против производителей RICS CPU.

Учитывая реальность циклов дизайна процессора, это будет несколько лет, прежде чем у нас действительно будет ответ, на который превосходит аргумент. Одной из различий между полупроводниковым рынком сегодня и рынком 20 лет назад является то, что TSMC является гораздо более сильным литейным участником, чем большинство производителей RISC Intel, столкнувшись в конце 1990-х и начале 2000-х годов. Команда Intel 7nm должна быть под огромным давлением, чтобы доставить на этот узел.

Ничто в этой истории не следует читать, чтобы подразумевать, что CPU ARM не может быть быстрее и эффективнее, чем процессор X86. M1 и процессоры, которые последуют от Apple и Qualcomm, представляют собой наиболее мощную конкурентную угрозу X86, столкнулся за последние 20 лет. ISA-ориентированная точка зрения может оказаться верным. Но Risc против CISC является отправной точкой для понимания исторической разницы между двумя различными типами семей ЦП, а не последним словом о том, как они сравнивают сегодня.

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

Примечание. Я не согласен с Engheim по идее, что различные претензии, подобные РССЭ, сделанные производителями X86, представляют собой маркетинговую улочку, но он написал несколько отличных историй на различные аспекты программирования и проекта процессора. Я рекомендую его работу для более подробной информации по этим темам.

Изображение функция Intel.

Читать далее

Arm и x86: объяснение наборов инструкций, архитектуры и всех ключевых отличий

Android может работать на трех разных типах архитектуры процессоров: Arm, Intel и MIPS. Первая — это сегодняшняя вездесущая архитектура после того, как Intel отказалась от своих мобильных процессоров, в то время как процессоры MIPS для телефонов не использовались уже много лет. Arm — это архитектура процессора, используемая всеми современными смартфонами в экосистемах Android и Apple. Процессоры Arm также выходят на рынок ПК через Windows на Arm и будущие специальные процессоры Apple для Mac.В связи с тем, что война процессоров Arm против Intel вот-вот разгорится, вот все, что вам нужно знать о Arm против x86.

Объяснение архитектуры процессора

Центральный процессор (ЦП) — это «мозг» вашего устройства, но он не совсем умный. ЦП работает только тогда, когда ему даны очень конкретные инструкции — соответственно называемые набором инструкций — которые сообщают процессору о перемещении данных между регистрами и памятью или о выполнении вычислений с использованием определенного исполнительного блока (например, умножения или вычитания).Для уникальных аппаратных блоков ЦП требуются разные инструкции. Они имеют тенденцию масштабироваться с более сложными и мощными процессорами. Желаемые инструкции могут также использоваться при разработке аппаратного обеспечения, как мы вскоре увидим.

Что такое SoC?  Все, что вам нужно знать о чипсетах для смартфонов

Приложения, работающие на вашем телефоне, не написаны в инструкциях ЦП; это было бы безумием с сегодняшними большими кросс-платформенными приложениями, чем работать на множестве чипов. Вместо этого приложения, написанные на различных языках программирования более высокого уровня (например, Java или C++), соответствуют определенным наборам инструкций, чтобы они правильно работали на процессорах Arm или x86.Эти инструкции далее декодируются в операции микрокода внутри ЦП, что требует дискового пространства и мощности. Если вам нужен процессор с наименьшим энергопотреблением, первостепенное значение имеет простота набора инструкций. Однако более высокая производительность может быть достигнута за счет более сложного оборудования и инструкций за счет энергопотребления. Это фундаментальное различие между подходами Arm и Intel к проектированию ЦП.

 

x86 традиционно нацелен на максимальную производительность, энергоэффективность Arm

 

Arm основан на RISC (вычисление с сокращенным набором инструкций), а Intel (x86) — на CISC (вычисление со сложным набором инструкций).Инструкции процессора Arm достаточно атомарны, с очень тесной корреляцией между количеством инструкций и микрооперациями. CISC, для сравнения, предлагает гораздо больше инструкций, многие из которых выполняют несколько операций (например, оптимизированные вычисления и перемещение данных). Это приводит к лучшей производительности, но большему потреблению энергии при декодировании этих сложных инструкций.

Эта связь между инструкциями и конструкцией аппаратного обеспечения процессора и составляет архитектуру ЦП. Таким образом, архитектуры ЦП могут быть разработаны для различных целей, таких как экстремальная обработка чисел, низкое энергопотребление или минимальная площадь кремния.Это ключевое отличие Arm от x86 с точки зрения процессоров, поскольку первый основан на меньшей мощности, наборе инструкций и аппаратном обеспечении.

Современные 64-битные архитектуры ЦП

 

Сегодня 64-битные архитектуры широко используются в смартфонах и ПК, но так было не всегда. Телефоны появились только в 2012 году, примерно через десять лет после ПК. Короче говоря, 64-битные вычисления используют регистры и адреса памяти, достаточно большие для использования 64-битных (1 и 0) длинных типов данных.Помимо совместимого оборудования и инструкций, вам также потребуется 64-разрядная операционная система, например Android.

Ветераны индустрии, возможно, помнят шумиху, когда Apple представила свой первый 64-разрядный процессор раньше своих конкурентов на базе Android. Переход на 64-разрядные технологии не изменил повседневные вычисления. Однако важно обеспечить математическую эффективность при использовании высокоточных чисел с плавающей запятой. 64-битные регистры также повышают точность 3D-рендеринга, скорость шифрования и упрощают адресацию более 4 ГБ ОЗУ.

 

В настоящее время обе архитектуры поддерживают 64-разрядную версию, но в мобильной версии

она появилась совсем недавно.

 

ПК

перешли на 64-разрядную версию задолго до появления смартфонов, но современную архитектуру x86-64 (также известную как x64) придумала не Intel. Эта награда принадлежит объявлению AMD от 1999 года, которое модернизировало существующую архитектуру Intel x86. Альтернативная архитектура Intel IA64 Itanium отошла на второй план.

Arm представила свою 64-битную архитектуру ARMv8 в 2011 году.Вместо того, чтобы расширять свой 32-битный набор инструкций, Arm предлагает чистую 64-битную реализацию. Для этого в архитектуре ARMv8 используются два состояния выполнения: AArch42 и AArch64. Как следует из названий, один предназначен для запуска 32-битного кода, а другой — для 64-битного. Прелесть дизайна ARM заключается в том, что процессор может плавно переключаться из одного режима в другой во время обычного выполнения. Это означает, что декодер для 64-битных инструкций представляет собой новую конструкцию, которая не нуждается в поддержке совместимости с 32-битной эпохой, но процессор в целом остается обратно совместимым.

Подробнее: Arm Cortex-X1 бросает вызов мощным процессорам Apple

Heterogeneous Compute компании Arm выиграл у мобильных

Рассмотренные выше архитектурные различия частично объясняют текущие успехи и проблемы, с которыми столкнулись два чипа-гиганта. Подход Arm к низкому энергопотреблению идеально подходит для требований к расчетной тепловой мощности (TDP) 3,5 Вт для мобильных устройств, при этом производительность также увеличивается, чтобы соответствовать чипам Intel для ноутбуков. Между тем, типичный Core i7 с TDP 100 Вт выигрывает у серверов и высокопроизводительных настольных компьютеров, но исторически с трудом справляется с масштабированием ниже 5 Вт.См. сомнительную линейку Atom.

Конечно, мы не должны забывать ту роль, которую процессы производства кремния сыграли в значительном повышении энергоэффективности за последнее десятилетие. Вообще говоря, транзисторы процессора меньшего размера потребляют меньше энергии. Intel застряла, пытаясь отказаться от внутреннего 14-нанометрового техпроцесса 2014 года. За это время чипсеты для смартфонов перешли с 20-нм на 14-, 10-, а теперь и 7-нм конструкции, а 5-нм ожидается в 2021 году. Это было достигнуто просто за счет конкуренции между литейными заводами Samsung и TSMC.

Однако одна уникальная особенность архитектуры Arm сыграла особенно важную роль в поддержании низкого TDP для мобильных приложений — гетерогенные вычисления. Идея достаточно проста: построить архитектуру, которая позволяет различным частям процессора (с точки зрения производительности и мощности) работать вместе для повышения эффективности.

 

 

Способность

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

 

Первый удар

Arm по этой идее был большим.LITTLE в 2011 году с большим ядром Cortex-A15 и маленьким ядром Cortex-A7. Идея использования более крупных неупорядоченных ядер ЦП для ресурсоемких приложений и энергоэффективных ЦП с последовательностью для фоновых задач сегодня воспринимается пользователями смартфонов как нечто само собой разумеющееся, но потребовалось несколько попыток, чтобы сгладить формулу. В 2017 году компания Arm разработала эту идею с DynamIQ и архитектурой ARMAv8.2, позволяющей размещать разные ЦП в одном кластере, совместно используя ресурсы памяти для гораздо более эффективной обработки. DynamIQ также поддерживает конструкцию ЦП 2+6, которая все чаще встречается в чипах среднего класса.

Связанный:  Одноядерные и многоядерные процессоры: что лучше для смартфонов?

Конкурирующие чипы Intel Atom

без гетерогенных вычислений не могли сравниться с балансом производительности и эффективности Arm. Для проектов Intel Foveros, Embedded Multi-die Interconnect Bridge (EMIB) и Hybrid Technology требуется до 2020 года, чтобы создать конкурирующий дизайн чипа — 10-нм Lakefield. Lakefield сочетает в себе одно высокопроизводительное ядро ​​Sunny Cove с четырьмя энергоэффективными ядрами Tremont, а также графику и функции подключения.Однако даже этот пакет предназначен для подключенных ноутбуков с TDP 7 Вт, что все еще слишком много для смартфонов.

Intel Lakefield с гибридной технологией использует те же принципы проектирования, что и big.LITTLE

от Arm.

 

Сегодня в сегменте рынка ноутбуков с TDP менее 10 Вт все чаще идет борьба между Arm и x86, где Intel все более успешно сокращает масштабы, а Arm — наращивает. Новость Apple о том, что она перейдет на собственные чипы Arm для Mac, является ярким примером растущей производительности архитектуры Arm, отчасти благодаря гетерогенным вычислениям, а также пользовательским оптимизациям, сделанным Apple.

Ядра Custom Arm и наборы инструкций

Еще одно важное различие между Arm и Intel заключается в том, что последний контролирует весь процесс от начала до конца и продает свои чипы напрямую. Арм просто продает лицензии. Intel полностью сохраняет свою архитектуру, конструкцию ЦП и даже производство. Для сравнения, Arm предлагает множество продуктов таким партнерам, как Apple, Samsung и Qualcomm. Они варьируются от готовых конструкций ядер ЦП, таких как Cortex-A78, конструкций, созданных в партнерстве в рамках программы Arm CXC, и лицензий на нестандартную архитектуру, которые позволяют таким компаниям, как Apple и Samsung, создавать собственные ядра ЦП и даже вносить коррективы в набор инструкций.

Далее:  Отказ от нестандартных процессоров — правильный выбор для Samsung Exynos

Создание пользовательских процессоров — дорогостоящий и сложный процесс, но правильное выполнение может явно привести к значительным результатам. Процессоры Apple демонстрируют, как специальное оборудование и инструкции приближают производительность Arm к массовому x86. Хотя ядра Mongoose от Samsung были более спорными.

 

На момент написания статьи самый мощный в мире суперкомпьютер Fugaku работал на базе Arm

.

Архитектура Intel остается лидером с точки зрения чистой производительности в области потребительского оборудования.Но сейчас Arm очень конкурентоспособна в сегментах продуктов, где ключевыми остаются высокая производительность и энергоэффективность, в том числе на рынке серверов. На момент написания статьи самый мощный в мире суперкомпьютер впервые работал на ядрах ЦП Arm. Его A64FX SoC разработан Fujitsu и является первым процессором с архитектурой Armv8-A SVE.

Программная совместимость

Авторы и права: Дэвид Имел / Android Authority

 

Как мы упоминали ранее, приложения и программное обеспечение должны быть скомпилированы для архитектуры ЦП, на которой они работают.Исторический брак между ЦП и экосистемами (такими как Android на Arm и Windows на x86) означал, что совместимость никогда не была проблемой, поскольку приложениям не нужно было работать на нескольких платформах и архитектурах. Однако рост числа кроссплатформенных приложений и операционных систем, работающих на нескольких архитектурах ЦП, меняет эту картину.

Компьютеры Mac на базе Arm от Apple, Chrome OS от Google и Windows на Arm от Microsoft — все это современные примеры, когда программное обеспечение должно работать как на архитектурах Arm, так и на Intel.Компиляция собственного программного обеспечения для обоих вариантов — это вариант для новых приложений и разработчиков, желающих инвестировать в перекомпиляцию. Чтобы заполнить пробелы, эти платформы также полагаются на эмуляцию кода. Другими словами, перевод кода, скомпилированного для одной архитектуры ЦП, для работы на другой. Это менее эффективно и снижает производительность по сравнению с собственными приложениями, но в настоящее время возможна хорошая эмуляция, обеспечивающая работу приложений.

После многих лет разработки эмуляция Windows on Arm находится в довольно хорошем состоянии для большинства приложений.Приложения для Android по большей части также работают на Intel Chromebook прилично. Нам придется подождать и посмотреть, будут ли работать Arm Macbook.

Arm против x86: последнее слово

За последнее десятилетие соперничества между Arm и x86 Arm выиграл как выбор для устройств с низким энергопотреблением, таких как смартфоны. В настоящее время эта архитектура также успешно используется в ноутбуках и других устройствах, где требуется повышенная энергоэффективность. Несмотря на проигрыш в телефонах, усилия Intel по снижению энергопотребления с годами также улучшились, и теперь Lakefield имеет гораздо больше общего с традиционными процессорами Arm, используемыми в телефонах.

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

Контактная информация:

Роберт Триггс

ARM и процессоры Intel: в чем разница?

Первоначально опубликовано в октябре.16 января 2021 г., Дариен Грэм-Смит
Обновлено 16 января 2022 г., Стив Ларнер

При выборе смартфона или планшета вы заметите, что некоторые модели используют процессоры Intel, а другие основаны на конкурирующих процессорах ARM. архитектура. Чипы ARM существуют в платформах Samsung Exynos, Qualcomm Snapdragon, Nvidia Tegra и Apple A15.

Оба семейства микросхем предназначены для работы с низким энергопотреблением, чтобы обеспечить мобильным устройствам необходимое длительное время автономной работы. Технически процессоры ARM и Intel представляют разные философии.

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

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

В этой статье рассматриваются различия между процессорами ARM и Intel и приложения каждого типа.

Что такое процессоры ARM и Intel?

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

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

Также стоит отметить, что ARM использует портативные устройства уже несколько десятилетий, в то время как Intel является относительным новичком на этой арене. На данный момент ARM является доминирующей архитектурой: iPad и iPhone используют исключительно ARM, поэтому, если вас интересуют эти устройства, разница между ARM и Intel в настоящее время не вызывает беспокойства.

CISC по сравнению с RISC

Процессоры Intel (обычно называемые X86 в связи с 32-разрядными программами Windows) используют вычисления со сложным набором инструкций (CISC), в то время как ARM использует вычисления с сокращенным набором инструкций (RISC). Хотя оба они выполняют команды довольно быстро в 2021 году, благодаря нескольким ядрам, CISC использует несколько более сложный набор инструкций, который требует нескольких циклов для выполнения задач. Основная идея состоит в сложном оборудовании и простом программном обеспечении. В данном случае это означает более базовую функциональность языка ассемблера.

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

Мобильные устройства и настольные компьютеры

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

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

Энергопотребление процессора

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

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

Скорость процессора

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

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

Процессоры Android

Intel когда-то была частью нескольких мобильных устройств Android, но процессоры ARM по-прежнему доминируют на этом рынке.

Устройства на базе Intel могут запускать весь спектр приложений Android, даже те, которые изначально были написаны для архитектуры ARM. Однако приложение со специфичным для ARM кодом должно быть переведено перед выполнением.Этот сценарий требует времени и энергии, поэтому срок службы батареи и общая производительность могут пострадать. Является ли это серьезной проблемой, предстоит обсудить: наши обзоры показывают, что Intel, как правило, отстает от ARM по времени автономной работы. Тем не менее, разрыв невелик, и общая производительность в целом отличная.

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

Выбор процессора для Windows

На разницу между ARM и Intel также стоит обратить внимание, если вы планируете купить планшет с Windows.Здесь Intel является доминирующей архитектурой. В прошлом, если вы выбирали устройство на базе ARM, вы получали урезанный вариант Windows под названием Windows RT, который мог запускать полноэкранные приложения из Магазина Windows, но не обычное настольное программное обеспечение.

В 2019 году все изменилось с выпуском Surface Pro X. Хотя корпус планшета не сильно изменился по сравнению с предыдущими версиями, Microsoft не отказалась от процессора ARM. Surface Pro X — это планшет с процессором ARM, который работает под управлением полной Windows, а не «разбавленной» версии.

Процессор ARM переводит планшеты Windows из набора приложений, доступных только в Microsoft Store, в большее количество приложений, но у него есть одно ограничение. Для запуска программ на Surface Pro X пользователям может потребоваться найти 32-разрядную совместимую версию. Мы рады видеть, что Microsoft не отказывается от процессоров ARM как части своей линейки мобильных продуктов (за исключением телефонного бизнеса, который они оставили позади), но есть еще несколько вещей, которые могут помешать вам использовать его. .

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

Какой процессор лучше?

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

Процессоры Intel быстрее и мощнее процессоров ARM. Однако процессоры ARM более удобны для мобильных устройств, чем процессоры Intel (в большинстве случаев).

Последние несколько лет вызвали бурю негодования среди несгибаемых поклонников Apple/Intel. То, что когда-то было стандартом, Mac на базе Intel теперь выпускается с уникальными процессорами Apple ARM. Хотя мы видели некоторые замечательные вещи, исходящие от Microsoft, только время покажет, но оба процессора постоянно улучшаются, а это означает, что то, что хорошо сейчас, может быть не так хорошо через год.

С чипом M1 от Apple компания утверждает, что этот чип ARM будет производить вдвое больше энергии при одной трети потребления батареи и может похвастаться лучшей производительностью процессора на ватт.M1, кажется, доказывает свою ценность, и M2 находится в стадии разработки.


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

Не стесняйтесь делиться своими мыслями о процессорах ARM и Intel ниже.

Какая разница между архитектурой arm и архитектурой x86

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

В любом случае, компьютеры со структурой X86 намного быстрее и сильнее систем со структурой ARM с точки зрения производительности.ЦП X86 весит более 1 г, популярны двухъядерные, четырехъядерные, обычно использующие 45-нм (или даже более продвинутый) процесс для производства; В то время как ARM: ЦП обычно составляет несколько сотен мегабайт, в последнее время только что появилось около 1 г ЦП, и процесс обычно использует менее 65-нм процесса. Можно сказать, что ARM не является конкурентом структурной системы X86 с точки зрения производительности и производственного процесса.

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

2. Расширение емкости

Компьютеры со структурой X86 подключаются к устройствам расширения (таким как жесткие диски и память) по принципу «моста». Более того, компьютеры с архитектурой x86 появились уже почти 30 лет назад, существует множество видов поддерживающих расширенные устройства и относительно низкая цена, поэтому компьютеры с архитектурой x86 могут легко расширять свою производительность, например, добавляя память и жесткие диски.

Компьютер со структурой ARM соединяет ЦП с устройством хранения данных через выделенный интерфейс данных, поэтому хранение ARM, расширение производительности, такое как память, сложно выполнить (как правило, объем памяти и хранения данных определяется во время проектирования продукта).Поэтому расширение обычно не рассматривается для систем со структурой ARM. В основном следуйте принципу «достаточно хорошо.

3. Совместимость операционной системы

В системе X86 доминирует альянс Wintel, созданный Microsoft и Intel. Она монополизировала операционную систему для персональных компьютеров в течение почти 30 лет, сформировав огромную группу пользователей и глубоко укрепив привычки использования многих пользователей, в то же время система x86 сформировала единый стандарт с точки зрения разработки аппаратного и программного обеспечения.Почти все аппаратные платформы x86 могут напрямую использовать систему Microsoft Windows и почти все популярные инструменты и программное обеспечение, поэтому системы x86 имеют несравненные преимущества в совместимости.

Почти все системы ARM используют операционные системы Linux, и почти все аппаратные системы должны создавать свои собственные системы отдельно, которые несовместимы с другими системами, что приводит к неудобной трансплантации их прикладного программного обеспечения, эти 1.1 прямо сильно ограничивают разработку и применение системы АРМ.После того, как GOOGLE разработала открытую систему Android, она объединила операционную систему компьютера со структурой ARM, что позволило недавно запущенной компьютерной системе, основанной на структуре ARM, иметь единую, открытую и бесплатную операционную систему, что обеспечивает сильную поддержку и стимул для развития. АРМ.

4. Удобство разработки программного обеспечения и разнообразие доступных инструментов

С момента запуска структурной системы X86 прошло почти 30 лет. В этот период компьютеры x86 пережили золотой период бурного развития.Пользовательские приложения, сопоставление программного обеспечения, сопоставление и совместимость инструментов разработки программного обеспечения и т. д. достигли очень зрелого или даже идеального состояния. Таким образом, использование компьютерных систем X86 не только позволяет выбирать из большого количества стороннего программного обеспечения, но также имеет большое количество инструментов программирования, которые помогут вам выполнить работу, которую вы хотите выполнить.

RISC и CISC — неправильный объектив для сравнения современных процессоров x86 и ARM

Обновление (29.12.2021) : На дворе конец года, поэтому мы показываем несколько старых фаворитов из 2021 года.Упоминаемый ниже «M2» относится к SoC Apple, которые в конечном итоге поставлялись как M1 Pro и M1 Max.

Исходная история ниже:

В связи с предстоящей конференцией Apple WWDC мы ожидаем услышать больше об обновленных ноутбуках MacBook Pro на базе ARM. Слухи указывают на то, что Apple запускает ряд модернизированных систем, на этот раз основанных на своем процессоре «M2», увеличенной версии ядра M1, дебютировавшего в прошлом году. Сообщается, что M2 может иметь восемь высокопроизводительных ядер и два высокоэффективных ядра по сравнению с конфигурацией 4+4 в существующей конфигурации M1.

С запуском M1 на базе ARM появилось множество сравнений x86 и ARM, а также онлайн-дискуссий, в которых сравнивались и противопоставлялись новые архитектуры. В этих темах вы часто будете видеть, как авторы упоминают две дополнительные аббревиатуры: CISC и RISC. Связь между «ARM против x86» и «CISC против RISC» настолько сильна, что каждая история на первой странице результатов Google определяет первую со ссылкой на вторую.

Эта ассоциация ошибочно предполагает, что «x86 по сравнению с ARM» можно четко разделить на «CISC по сравнению с RISC», где x86 — это CISC, а ARM — RISC.Тридцать лет назад это было правдой. Сегодня это неправда. Битва за то, как сравнивать процессоры x86 с процессорами других компаний, не нова. Это кажется новым только сегодня, потому что у x86 не было серьезного архитектурного соперника почти два десятилетия. ARM может позиционировать себя как производитель процессоров RISC, но сегодня эти термины скрывают столько же, сколько проясняют современное состояние процессоров x86 и ARM.

Изображение Дэвида Бауэра, CC BY-SA 2.0

Упрощенная история частей, с которыми люди согласны .Двое мужчин предложили новый подход к проектированию полупроводников, основанный на наблюдаемых тенденциях конца 1970-х годов и проблемах масштабирования, с которыми сталкивались современные процессоры. Они предложили термин «CISC» — компьютер с комплексным набором инструкций — для описания множества различных уже существующих архитектур ЦП, которые не соответствовали принципам RISC.

Ощущение потребности в новом подходе к проектированию ЦП возникло по мере изменения узких мест, ограничивающих производительность ЦП. Так называемые конструкции CISC, включая исходный 8086, были разработаны, чтобы справиться с высокой стоимостью памяти за счет переноса сложности на аппаратное обеспечение.Они подчеркивали плотность кода, а некоторые инструкции последовательно выполняли несколько операций над переменной. В качестве философии дизайна CISC попытался повысить производительность за счет минимизации количества инструкций, которые ЦП должен был выполнить для выполнения данной задачи. Архитектуры набора инструкций CISC обычно предлагают широкий спектр специализированных инструкций.

К концу 1970-х ЦП CISC имел ряд недостатков. Их часто приходилось реализовывать на нескольких микросхемах, потому что методы VLSI (Very Large Scale Integration) того времени не могли упаковать все необходимые компоненты в один пакет.Реализация сложных архитектур набора команд с поддержкой большого количества редко используемых инструкций требует места на кристалле и снижает максимально достижимую тактовую частоту. Тем временем стоимость памяти неуклонно снижалась, что делало акцент на размере кода менее важным.

Паттерсон и Дитцель утверждали, что процессоры CISC все еще пытались решить проблемы раздувания кода, которые так и не материализовались. Они предложили принципиально иной подход к проектированию процессоров. Понимая, что подавляющее большинство инструкций CISC остались неиспользованными (подумайте об этом как о применении принципа Парето или правила 80/20), авторы предложили гораздо меньший набор инструкций фиксированной длины, все из которых выполнялись бы за одну операцию. тактовый цикл.Хотя это привело бы к тому, что ЦП RISC выполнял бы меньше работы на инструкцию, чем его аналог CISC, разработчики микросхем компенсировали бы это, упростив свои процессоры.

Это упрощение позволит тратить бюджеты транзисторов на другие функции, такие как дополнительные регистры. Предполагаемые будущие функции в 1981 году включали «кэш-память на кристалле, более крупные и быстрые транзисторы или даже конвейерную обработку». Цель ЦП RISC состояла в том, чтобы как можно быстрее выполнять как можно ближе к одному IPC (инструкция за такт, мера эффективности ЦП).Перераспределив ресурсы таким образом, утверждали авторы, конечный результат превзойдет любой сравнительный дизайн CISC.

Эти принципы дизайна быстро доказали свою ценность. R2000, представленный MIPS в 1985 году, при определенных обстоятельствах мог поддерживать IPC, близкий к 1. Ранние семейства процессоров RISC, такие как SPARC и семейство HP PA-RISC, также устанавливали рекорды производительности. В конце 1980-х и начале 1990-х люди часто слышали, что архитектуры на основе CISC, такие как x86, ушли в прошлое и, возможно, достаточно хороши для домашних вычислений, но если вы хотели работать с настоящим процессором , вы покупали RISC-чип.Центры обработки данных, рабочие станции и высокопроизводительные вычисления — вот где процессоры RISC оказались наиболее успешными, как показано ниже:

Этот образ Intel полезен, но требует некоторого контекста. Похоже, что «архитектура Intel» относится только к процессорам x86, а не к чипам вроде 8080, который был популярен на раннем компьютерном рынке. Точно так же у Intel было несколько суперкомпьютеров в категории «RISC» в 2000 году — именно машины с архитектурой x86 завоевали долю рынка.

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

Соглашение о взаимной истории CISC и RISC заканчивается в начале 1990-х годов. Тот факт, что архитектура Intel x86 продолжала доминировать в вычислительной отрасли для ПК, центров обработки данных и высокопроизводительных вычислений (HPC), бесспорна.Спорный вопрос заключается в том, добились ли Intel и AMD этого, приняв определенные принципы проектирования RISC, или же их утверждения о том, что они сделали это, были ложью.

Различные взгляды

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

Во-первых, вот Пол ДеМоун из RealWorldTech, в статье «RISC vs. современных реализаций процессоров x86, использующих управляющие слова фиксированной длины для управления неупорядоченными путями выполнения данных… Точка зрения «RISC и CISC сходятся» — фундаментально ошибочная концепция, восходящая к запуску i486 в 1992 году и уходящая корнями в широко распространенное игнорирование разницы между архитектурой набора команд и деталями реализации физического процессора.

Напротив, вот Джон «Ганнибал» Стоукс в «RISC vs. CISC: эпоха пост-RISC»: обе философии проектирования имеют дело с гораздо большим, чем просто простота или сложность набора инструкций… В свете того, что мы теперь знаем об историческом развитии RISC и CISC, а также о проблемах, которые каждый подход пытался решить, теперь должно быть очевидно что оба термина одинаково бессмысленны… Что бы ни говорили «RISC vs.Дебаты CISC, которые когда-то велись, давно закончились, и теперь должно последовать более тонкое и гораздо более интересное обсуждение, которое рассматривает каждую платформу — аппаратное и программное обеспечение, ISA и реализацию — по своим достоинствам.

Ни одна из этих статей не является новой. Статья Стоукса была написана в 1999 году, а ДеМоуна — в 2000-м. Я процитировал их обоих, чтобы продемонстрировать, что вопрос о том, имеет ли отношение различие между RISC и CISC к современным вычислениям, существует буквально более 20 лет назад.Джон Стоукс — мой бывший коллега и более чем эксперт, чтобы не попасть в ловушку «невежества», на которую ссылается ДеМоун.

Внедрение против ISA

Две приведенные выше цитаты отражают два разных взгляда на то, что значит говорить о «CISC против RISC». Взгляд ДеМоуна во многом похож на сегодняшнюю точку зрения ARM или Apple. Назовите это ISA-ориентированной позицией.

Точка зрения Стоукса — это то, что в целом доминировало в компьютерной прессе в течение последних нескольких десятилетий. Мы назовем это позицией, ориентированной на реализацию.Я использую слово «реализация», потому что оно может контекстуально относиться как к микроархитектуре процессора, так и к узлу процесса, используемому для производства физического чипа. Оба эти элемента имеют отношение к нашему обсуждению. Эти две позиции описываются как «центральные», потому что они пересекаются. Оба автора признают и соглашаются со многими тенденциями, даже если они приходят к разным выводам.

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

Эта точка зрения, ориентированная на ISA, утверждает, что Intel, AMD и x86 одержали победу над MIPS, SPARC и POWER/PowerPC по трем причинам: превосходное технологическое производство Intel, постепенное снижение так называемого «налога CISC» с течением времени, которое Превосходное производство Intel позволило, и эта бинарная совместимость сделала x86 более ценной по мере того, как его установочная база росла, независимо от того, была ли она лучшей ISA.

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

Вот пример. Сегодня как x86, так и высокопроизводительные процессоры ARM используют неупорядоченное выполнение для повышения производительности процессора. Использование кремния для переупорядочивания инструкций на лету для повышения эффективности выполнения полностью противоречит первоначальной философии дизайна RISC. Паттерсон и Дитцель выступали за менее сложный процессор, способный работать на более высоких тактовых частотах.Другие общие черты современных процессоров ARM, такие как блоки выполнения SIMD и прогнозирование ветвлений, также не существовали в 1981 году. Первоначальная цель RISC состояла в том, чтобы все инструкции выполнялись в одном цикле, и большинство инструкций ARM соответствуют этому правилу, но ISA ARMv8 и ARMv9 содержат инструкции, для выполнения которых требуется более одного такта. Как и современные процессоры x86.

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

Но разве это неправильно?

Совпали ли разработки RISC и CISC?

С точки зрения реализации центральные процессоры CISC и RISC эволюционировали навстречу друг другу на протяжении десятилетий, начиная с принятия новых «RISC-подобных» методов декодирования для процессоров x86 в середине 1990-х годов.

Обычное объяснение звучит так: в начале 1990-х годов Intel и другие производители процессоров x86 поняли, что для повышения производительности процессора в будущем потребуется нечто большее, чем увеличение кэш-памяти или более высокая тактовая частота.Несколько компаний решили инвестировать в микроархитектуры процессоров x86, которые могли бы на лету переупорядочивать свои собственные потоки инструкций для повышения производительности. В рамках этого процесса собственные инструкции x86 передавались в декодер x86 и транслировались в «RISC-подобные» микрооперации перед выполнением.

Это общепринятое мнение уже более двух десятилетий, но недавно оно снова подверглось сомнению. В статье, опубликованной на Medium еще в 2020 году, Эрик Энгхейм написал: «В чипах x86 нет внутренних компонентов RISC.Это просто маркетинговый ход». Он указывает как на историю ДеМоуна, так и на цитату Боба Колвелла, главного архитектора микроархитектуры P6.

Микроархитектура P6 была первой микроархитектурой Intel, в которой реализовано неупорядоченное выполнение и собственный механизм декодирования x86-to-micro-op. P6 поставлялся как Pentium Pro и превратился в Pentium II, Pentium 3 и выше. Это дедушка современных процессоров x86. Если кто-то и должен знать ответ на этот вопрос, так это Колвелл, поэтому вот что он сказал:

Intel x86 НЕ имеет RISC-движка «под капотом».Они реализуют архитектуру набора инструкций x86 через схему декодирования/выполнения, основанную на отображении инструкций x86 в машинные операции или последовательности машинных операций для сложных инструкций, и эти операции затем находят свой путь через микроархитектуру, подчиняясь различным правилам о зависимостях данных. и, в конечном счете, временная последовательность.

«Микрооперации», выполняющие этот трюк, имеют ширину более 100 бит, несут всевозможную странную информацию, не могут быть напрямую сгенерированы компилятором, не обязательно являются одним циклом.Но, прежде всего, это уловка микроархитектуры — RISC/CISC касается архитектуры набора команд… Идея микроопераций не была «вдохновлена ​​RISC», «подобна RISC» или вообще не была связана с RISC. Это была наша команда разработчиков, которая нашла способ сломать сложность очень сложного набора инструкций, убрав возможности и ограничения микроархитектуры, присутствующие в конкурирующем микропроцессоре.

Дело закрыто! Верно?

Не совсем так. (Щелкните выше, чтобы примерно понять, что я чувствую, когда даже выглядит как , что противоречит Бобу Колвеллу) -стиль».NexGen, позднее приобретенная AMD. Процессор NexGen 5×86 дебютировал в марте 1994 года, а Pentium Pro не будет выпущен до ноября 1995 года. Вот как NexGen описала свой процессор: «Процессор Nx586 — это первая реализация инновационной и запатентованной микроархитектуры NexGen RISC86 ». (выделение добавлено). Позже компания сообщает некоторые дополнительные подробности: «Инновационный подход RISC86 динамически переводит инструкции x86 в инструкции RISC86. Как показано на рисунке ниже, Nx586 использует принципы производительности RISC.Благодаря среде RISC86 каждое исполнительное устройство стало меньше и компактнее».

Еще можно возразить, что это маркетинговый ход и не более того, так что давайте перейдем к 1996 году и AMD K5. K5 обычно описывается как внешний интерфейс x86, соединенный с исполнительным сервером, AMD позаимствовал его у своего 32-битного RISC-микроконтроллера Am29000. Прежде чем мы рассмотрим его блок-схему, я хочу сравнить его с оригинальным процессором Intel Pentium. Pentium, возможно, является вершиной эволюции CISC x86, учитывая, что он реализует как конвейерную обработку, так и супермасштабирование в процессоре x86, но не преобразует инструкции x86 в микрооперации и не имеет механизма выполнения вне очереди.


Теперь сравните Pentium с AMD K5.

Если вы когда-нибудь рассматривали блок-схемы микропроцессоров, то K5 должен показаться вам знакомым, в отличие от Pentium. AMD купила NexGen после запуска Nx586. K5 был собственной разработкой AMD, а K6 изначально был продуктом NexGen. Начиная с этого момента процессоры начинают с и выглядят как , больше похожие на чипы, с которыми мы знакомы сегодня. И, по словам инженеров, разработавших эти чипы, сходство было более чем поверхностным.

Дэвид Кристи из AMD опубликовал в IEEE Micro статью о K5 еще в 1996 году, в которой рассказывается о гибридизации RISC и CISC:

Мы разработали микро-ISA на основе набора инструкций 29000. Несколько дополнительных управляющих полей увеличили размер микроинструкции до 59 бит. Некоторые из них упрощают и ускоряют суперскалярную логику управления. Другие предоставляют специфичные для x86 функции, которые слишком критичны для производительности, чтобы синтезировать их с помощью последовательностей микроинструкций.Но эти микроинструкции по-прежнему придерживаются основных принципов RISC: простые операции «регистр-в-регистр» с фиксированным кодированием спецификаторов регистров и других полей и не более одной ссылки на память на операцию. По этой причине мы называем их операциями RISC или сокращенно ROP (произносится как R-ops). Их простая природа общего назначения дает нам большую гибкость при реализации более сложных операций x86, помогая сохранить относительно простую логику выполнения.

Наиболее важным аспектом микроархитектуры RISC, однако, является то, что сложность набора инструкций x86 останавливается на декодере и в значительной степени прозрачна для ядра выполнения неупорядоченного выполнения.Этот подход требует очень небольшой дополнительной сложности управления помимо той, которая необходима для спекулятивного неупорядоченного выполнения RISC для достижения спекулятивного неупорядоченного выполнения x86. Последовательность ROP для переключения задач выглядит не сложнее, чем для цепочки простых инструкций. Сложность исполнительного ядра эффективно изолирована от сложности архитектуры, а не усугубляется ею.

Кристи не путает разницу между ISA и деталями физической реализации процессора.Он утверждает, что физическая реализация сама по себе «подобна RISC» во многих важных аспектах.

K5 повторно использовал части исполняющего бэкенда AMD, разработанного для семейства RISC-процессоров Am29000, и реализует внутренний набор инструкций, более похожий на RISC, чем собственный x86 ISA. Методы в стиле RISC NexGen и AMD в этот период ссылаются на такие концепции, как кэширование данных, конвейерная обработка и суперскалярные архитектуры. Два из них — кэширование и конвейерная обработка — названы в статье Паттерсона.Ни одна из этих идей не является строго RISC, но все они сначала дебютировали в процессорах RISC, и они были преимуществами, связанными с процессорами RISC, когда K5 был новым. Маркетинг этих возможностей как «RISC-подобных» имел смысл по той же причине, по которой OEM-производители той эпохи имели смысл описывать свои ПК как «IBM-совместимые».

Степень, в которой эти функции относятся к RISC, и ответ на вопрос, декодируют ли процессоры x86 инструкции в стиле RISC, зависит от критериев, выбранных вами для формулировки вопроса. Аргумент больше, чем Pentium Pro, даже если P6 является микроархитектурой, наиболее связанной с развитием технологий, таких как механизм выполнения вне очереди.У разных инженеров в разных компаниях были свои точки зрения.

Насколько загружены процессоры x86 в современную эпоху?

Прошлое никогда не умирает. Это даже не прошлое. — Уильям Фолкер

Пришло время перенести это обсуждение в современную эпоху и рассмотреть последствия этого сравнения «RISC и CISC» для процессоров ARM и x86, которые фактически поставляются сегодня. Вопрос, который мы действительно задаем, сравнивая процессоры AMD и Intel с Apple M1 и будущим M2, заключается в том, существуют ли исторические узкие места x86, которые не позволят x86 эффективно конкурировать с Apple и будущими чипами ARM от таких компаний, как Qualcomm?

По данным AMD и Intel: Нет.Согласно ARM: Да. Поскольку у всех рассматриваемых компаний есть очевидные конфликты интересов, вместо этого я спросил Agner Fog.

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

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

Сложная x86 ISA делает декодирование узким местом.Инструкция x86 может иметь любую длину от 1 до 15 байт, и вычислить длину довольно сложно. И вам нужно знать длину одной инструкции, прежде чем вы сможете начать декодировать следующую. Это, безусловно, проблема, если вы хотите декодировать 4 или 6 инструкций за такт! И Intel, и AMD теперь продолжают добавлять большие кэши для микроопераций, чтобы преодолеть это узкое место. У ARM есть инструкции фиксированного размера, поэтому этого узкого места не существует, и нет необходимости в кэше микроопераций.

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

Несмотря на эти нагрузки, x86 ISA вполне успешна. Это потому, что он может выполнять больше работы за инструкцию. Например, RISC ISA с 32-битными инструкциями не может загрузить операнд в память в одной инструкции, если ему нужны 32 бита только для адреса памяти.

В своем руководстве по микроархитектуре Агнер также пишет, что более поздние тенденции в разработке процессоров AMD и Intel возвращаются к принципам CISC, чтобы лучше использовать ограниченные кэши кода, увеличить пропускную способность конвейера и снизить энергопотребление за счет уменьшения количества микроопераций. в трубопроводе. Эти улучшения представляют собой изменения микроархитектуры, которые позволили повысить общую производительность x86 и энергоэффективность.

И вот, наконец, мы подходим к сути вопроса: насколько сильно современные процессоры AMD и Intel платят за совместимость с x86?

Узкие места декодирования, прогнозирование ветвлений и сложности конвейера, на которые ссылается Агнер, являются частью «налога на CISC», который, по утверждению ARM, ложится на x86.В прошлом Intel и AMD сообщали нам, что мощность декодирования составляет однозначный процент от общего энергопотребления чипа. Но это не имеет большого значения, если ЦП сжигает энергию для кэша микроопераций или сложного предсказателя ветвлений, чтобы компенсировать недостаток пропускной способности декодирования. Энергопотребление кэш-памяти микроопераций и энергопотребление предсказания переходов определяются микроархитектурой ЦП и узлом производственного процесса. «RISC против CISC» неадекватно отражает сложность отношений между этими тремя переменными.

Потребуется несколько лет, прежде чем мы узнаем, представляют ли Apple M1 и будущие процессоры Qualcomm кардинальные изменения на рынке или очередной вызов, на который ответят AMD и Intel. Является ли поддержание совместимости с x86 бременем для современных процессоров — это одновременно новый и очень старый вопрос. Новое, потому что до запуска M1 не было возможности проводить какое-либо осмысленное сравнение. Старый, потому что эта тема часто обсуждалась, когда в персональных компьютерах все еще использовались процессоры, отличные от x86.

AMD продолжает улучшать Zen в 1,15–1,2 раза в год. Мы знаем, что Intel Alder Lake также будет использовать процессорные ядра x86 с низким энергопотреблением для снижения энергопотребления в режиме ожидания. Оба производителя x86 продолжают развивать свои подходы к производительности. Потребуется время, чтобы увидеть, как эти ядра и их преемники сопоставляются с будущими продуктами Apple, но x86 не выбывает из этой борьбы.

Почему RISC и CISC — неправильный способ сравнения процессоров x86 и ARM

Когда Паттерсон и Дитцель придумали RISC и CISC, они намеревались прояснить две разные стратегии проектирования ЦП.Сорок лет спустя термины скрывают столько же, сколько и проясняют. RISC и CISC не лишены смысла, но значение и применимость обоих терминов стали очень контекстуальными.

Сводить всю историю развития процессоров к CISC и RISC — все равно, что утверждать, что эти две книги содержат сумму всех человеческих знаний. Только дети VLIW получат этот пост.

Проблема с использованием RISC и CISC в качестве линзы для сравнения современных процессоров x86 и ARM заключается в том, что для сравнения x86 и ARM используются три конкретных атрибута — узел процесса, микроархитектура и ISA —  сводится к одному, и затем объявляет ARM выше на основании только ISA.«Ориентированный на ISA» по сравнению с «ориентированным на реализацию» — лучший способ понять тему, при условии, что вы помните, что между ними существует диаграмма Венна с согласованными важными факторами. В частности:

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

Аргумент, ориентированный на реализацию, признает, что ISA может и имеет значение, но исторически микроархитектура и геометрия процессов имели большее значение. Intel все еще восстанавливается после некоторых из самых серьезных задержек в истории компании. AMD все еще работает над улучшением Ryzen, особенно в мобильных устройствах. Исторически сложилось так, что оба производителя x86 продемонстрировали способность эффективно конкурировать с производителями процессоров RISC.

Учитывая реальность циклов проектирования ЦП, пройдет несколько лет, прежде чем мы действительно получим ответ на вопрос, какой из аргументов лучше.Одно из различий между рынком полупроводников сегодня и рынком 20-летней давности заключается в том, что TSMC является гораздо более сильным конкурентом, чем большинство производителей RISC, с которыми Intel сталкивалась в конце 1990-х и начале 2000-х годов. Команда Intel, занимающаяся 7-нм техпроцессом, должна испытывать огромное давление, чтобы реализовать этот узел.

Ничто в этой истории не должно означать, что процессор ARM не может быть быстрее и эффективнее, чем процессор x86. M1 и процессоры, которые последуют за Apple и Qualcomm, представляют собой самую мощную конкурентную угрозу, с которой x86 сталкивался за последние 20 лет.Точка зрения, ориентированная на ISA, может оказаться верной. Но RISC по сравнению с CISC — это отправная точка для понимания исторической разницы между двумя разными типами семейств ЦП, а не последнее слово в том, как они сравниваются сегодня.

Этот аргумент явно ни к чему не приведет. Драки, начавшиеся, когда Cheers были самой горячей вещью на телевидении, как правило, имеют большую стойкость. Но понимание его истории, мы надеемся, поможет объяснить, почему это некорректный объектив для сравнения процессоров в современную эпоху.

Примечание. Я не согласен с Энгхеймом в том, что различные утверждения о RISC-подобном подходе, сделанные производителями x86, представляют собой маркетинговый ход, но он написал несколько отличных статей о различных аспектах программирования и конструкции ЦП. Я рекомендую его работу для получения более подробной информации по этим темам.

Изображение функции от Intel.

Читать :

Какой производительности ожидать от компьютеров Mac на базе ARM?

Этот сайт может получать партнерские комиссионные от ссылок на этой странице.Условия эксплуатации.

Большой вопрос, который у всех на уме с тех пор, как 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 с двумя простыми, быстрыми блоками декодера и одним сложным, более медленным блоком.С тех пор дизайн эволюционировал. Изображение Арс Техника.

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

Читать :

ARM или x86? ISA не имеет значения – чипсы и сыр

В течение последнего десятилетия производители процессоров ARM предпринимали неоднократные попытки проникнуть на рынок высокопроизводительных процессоров, поэтому неудивительно, что мы видели множество статей, видеороликов и дискуссий об усилиях ARM, и многие из этих статей посвящены различиям между Две архитектуры набора команд (ISA).

Здесь, в этой статье, мы объединим исследования, комментарии людей, хорошо знакомых с процессорами, и немного наших собственных данных, чтобы показать, почему сосредоточение внимания на ISA — это пустая трата времени (1) и Чтобы начать наше маленькое приключение, давайте сошлемся на интервью Anandtech с Джимом Келлером, инженером, который работал над несколькими успешными конструкциями процессоров, включая AMD Zen и Apple A4/A5.

[Спор о наборах инструкций] — очень грустная история.

Интервью AnandTech с Джимом Келлером: «Самый ленивый человек в Tesla»

CISC против RISC: устаревшие дебаты

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

.

Когда RISC впервые появился, x86 был наполовину микрокодом. Итак, если вы посмотрите на кристалл, половина чипа — это ПЗУ, или, может быть, треть или что-то в этом роде. А ребята из RISC могли бы сказать, что на RISC-чипе нет ПЗУ, поэтому мы получаем большую производительность. Но сейчас ПЗУ настолько мало, что не найдешь.На самом деле, сумматор настолько мал, что вы вряд ли найдете его? То, что сегодня ограничивает производительность компьютера, — это предсказуемость, и два основных из них — это предсказуемость инструкций/ветвей и локальность данных.

Интервью AnandTech с Джимом Келлером: «Самый ленивый человек в Tesla»

Короче говоря, нет существенной разницы между RISC/ARM и CISC/x86 с точки зрения производительности. Важно, чтобы ядро ​​загружалось и получало правильные данные, которые фокусируются на дизайне кэша, прогнозировании ветвлений, предварительной выборке и множестве интересных трюков, таких как прогнозирование того, может ли загрузка выполняться до сохранения на неизвестный адрес.

Исследователи уловили этот способ еще до интервью Джима Келлера из Anandtech, когда в 2013 году Blem et al. исследовали влияние ISA на различные процессоры x86 и ARM [1] и обнаружили, что RISC/ARM и CISC/x86 в значительной степени совпали.

Таблица из статьи Университета Висконсина, показывающая тенденции конвергенции между RISC/ARM и CISC/x86

Blem et al. пришел к выводу, что процессоры ARM и x86 различаются по энергопотреблению и производительности в основном потому, что они были оптимизированы для разных целей.Набор инструкций здесь не так уж важен, важна конструкция процессора, реализующего набор инструкций:

Основные выводы нашего исследования:
— Между реализациями существуют большие разрывы в производительности, хотя средний разрыв в количестве циклов составляет <= 2,5x.
– Количество и состав инструкций не зависят от ISA до первого порядка.
— Различия в производительности вызваны микроархитектурными различиями, не зависящими от ISA.
– Потребление энергии снова не зависит от ISA.
— различия в ISA имеют последствия для реализации, но современные методы микроархитектуры делают их спорными; одна ISA принципиально не эффективнее.
— Реализации ARM и x86 — это просто точки проектирования, оптимизированные для различных уровней производительности

Борьба за власть: пересмотр дебатов RISC и CISC о современных архитектурах ARM и x86

Другими словами, это очень популярное видео Techquickie вводит в заблуждение, и ARM ISA не имеет ничего общего с низким энергопотреблением.Точно так же x86 ISA не имеет ничего общего с высокой производительностью. Процессоры на базе ARM, с которыми мы знакомы сегодня, оказались маломощными, потому что производители процессоров ARM ориентируют свои разработки на сотовые телефоны и планшеты. Процессоры Intel и AMD x86 нацелены на более высокую производительность, что связано с более высокой мощностью.

Чтобы еще больше остудить идею о том, что ISA играет важную роль, Intel нацелилась на низкое энергопотребление своих ядер Atom на базе архитектуры x86. Исследование, проведенное в Федеральном университете Риу-Гранди-ду-Сул [6], показало, что «во всех тестовых случаях кластер на базе Atom оказался лучшим вариантом для использования многоуровневого параллелизма на маломощных процессорах.
Испытывались два ядра: Cortex-A9 от ARM и Bonnell от Intel. Интересно, что Bonnell представляет собой нормальный дизайн по сравнению с Cortex-A9, который представляет собой неисправный дизайн, который должен дать Cortex-A9 преимущество как в производительности, так и в энергоэффективности, однако в тестах, которые использовались в исследовании, Bonnell пришел впереди в обеих категориях.

Отличия декодера: капля в море

Еще один часто повторяемый трюизм заключается в том, что x86 имеет значительный недостаток «налога на декодирование».ARM использует инструкции фиксированной длины, в то время как инструкции x86 различаются по длине. Поскольку вы должны определить длину одной инструкции, прежде чем узнаете, где начинается следующая, параллельное декодирование инструкций x86 является более сложным. Это недостаток для x86, но для высокопроизводительных процессоров это не так важно, потому что, по словам Джима Келлера:

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

Интервью AnandTech с Джимом Келлером: «Самый ленивый человек в Tesla»

Здесь, в Chips and Cheese, мы углубляемся и проверяем все сами.
При отключении операционного кэша с помощью недокументированного MSR мы обнаружили, что путь извлечения и декодирования Zen 2 потребляет примерно на 4–10 % больше мощности ядра или на 0,5–6 % больше мощности пакета, чем путь операционного кэша. На практике декодеры будут потреблять еще меньшую долю мощности ядра или корпуса. Zen 2 не был предназначен для работы с отключенным кешем микроопераций, а используемый нами тест (CPU-Z) подходит для кешей L1, что означает, что он не нагружает другие части иерархии памяти.Для других рабочих нагрузок потребляемая мощность кэш-памяти L2 и L3, а также контроллера памяти сделает мощность декодера еще менее значимой.

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

Исследователи тоже согласны. В 2016 году исследование, проведенное при поддержке Хельсинкского института физики [2] , рассматривало микроархитектуру Intel Haswell.Там, Хирики и др. подсчитано, что декодер Haswell потреблял 3-10% мощности пакета. Исследование пришло к выводу, что «набор команд x86-64 не является серьезным препятствием для создания энергоэффективной процессорной архитектуры».

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

. В еще одном исследовании Oboril et al.[5] измеренная мощность выборки и декодирования на процессоре Intel Ivy Bridge.Хотя в этом документе основное внимание уделялось разработке точной модели энергопотребления для основных компонентов и не делалось прямых выводов о x86, его данные снова показывают, что мощность декодера — это капля в море.

Оборил и др. др. оценки энергопотребления Ivy Bridge. Мощность Fetch+Decode незначительна по сравнению с другими основными компонентами

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

Декодирование ARM слишком дорого

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

Собственные разработки

ARM Ltd тому подтверждение. Высокопроизводительные чипы ARM используют кэш-память микроопераций, чтобы пропустить декодирование инструкций, как и процессоры x86.В 2019 году Cortex-A77 представил 1,5 КБ операционного кэша [3] . Разработка операционного кеша — непростая задача: команда ARM отлаживала свой операционный кеш в течение как минимум шести месяцев. Ясно, что декодирование ARM достаточно сложно, чтобы оправдать затраты значительных инженерных ресурсов, чтобы по возможности пропустить декодирование. Cortex-A78, A710, X1 и X2 также имеют операционные кэши, что свидетельствует об успехе этого подхода по сравнению с декодированием методом грубой силы.

Samsung также представила операционный кеш на своем M5. В документе, подробно описывающем процессоры Exynos [4] от Samsung, мощность декодирования была названа мотивацией для внедрения операционного кэша:

.

По мере того, как проект перешел от предоставления 4 инструкций/операций за такт в M1 к 6 за такт в M3 (с будущими амбициями увеличить до 8 за такт), мощность выборки и декодирования стала серьезной проблемой.

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

Эволюция микроархитектуры ЦП Samsung Exynos

Как и процессоры x86, ядра ARM используют операционные кэши для снижения стоимости декодирования. «Преимущество декодирования» ARM не имеет достаточного значения, чтобы позволить ARM избежать операционных кешей. А операционные кэши сократят использование декодера, что сделает мощность декодирования еще менее значимой.

и инструкции ARM декодируются в Micro-Ops?

Гэри Объясняет, что дополнительная мощность, используемая для разделения инструкций на микрооперации на процессорах x86, «достаточна для того, чтобы означать, что они не так энергоэффективны, как эквивалентные процессоры ARM», в видео под названием «RISC против CISC — все еще Вещь?», — повторяет он это утверждение в следующем видео.

Гэри неверен, так как современные процессоры ARM также декодируют инструкции ARM в несколько микроопераций. Фактически, «уменьшение расширения микроопераций» дало ThunderX3 прирост производительности на 6% по сравнению с ThunderX2 (все чипы ThunderX от Marvel основаны на ARM), что больше, чем любая другая причина поломки.

Слайд представлен Marvell на Hot Chips 2020. Выделение (красный контур) добавлено нами

Мы также быстро просмотрели руководство по архитектуре для Fujitsu A64FX, процессора на базе ARM, который используется в японском суперкомпьютере Fugaku.A64FX также декодирует инструкции ARM в несколько микроопераций.

Часть таблиц инструкций в руководстве по архитектуре A64FX в разделе базовых инструкций ARMv8. Мы выделили (красный контур) инструкции, которые декодируются в несколько микроопераций.

Если мы пойдем дальше, некоторые инструкции ARM SVE декодируются в десятки микроопераций. Например, FADDA («сложение с плавающей запятой в строго упорядоченном виде, накопление в скаляре») декодируется в 63 микрооперации. И некоторые из этих микроопераций по отдельности имеют задержку в 9 циклов.Вот вам и инструкции ARM/RISC, выполняемые за один цикл…

Еще одно замечание: ARM не является чистой архитектурой загрузки-хранилища. Например, инструкция LDADD загружает значение из памяти, добавляет к нему и сохраняет результат обратно в память. A64FX декодирует это в 4 микрооперации.

x86 и ARM: оба раздуты из-за Legacy

И им обоим все равно.

В интервью Anandtech Джим Келлер отметил, что и x86, и ARM со временем добавляли функции по мере развития требований к программному обеспечению.Оба были немного очищены, когда они стали 64-битными, но остались старыми наборами инструкций, которые пережили годы итерации. А повторение неизбежно приводит к раздуванию.

Келлер с любопытством отмечает, что у RISC-V нет наследия, поскольку он находится «в начале жизненного цикла сложности». Он продолжает:

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

Интервью AnandTech с Джимом Келлером: «Самый ленивый человек в Tesla»

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

Заключение: важна реализация, а не ISA

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

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

Ссылки

[1] Эмили Блем, Джайкришнан Менон и Картикеян Санкаралингам, «Борьба за власть: пересмотр дебатов RISC и CISC о современных архитектурах ARM и x86», HPCA 2013, hpca13-isa-power-struggles.pdf (wisc.edu)

[2] Микаэль Хирки и Чжунхонг Оу и Кашиф Низам Хан и Юкка К.Нурминен и Тапио Ниеми, «Эмпирическое исследование энергопотребления декодера инструкций x86-64», Семинар USENIX по интересным темам устойчивых центров обработки данных (CoolDC 16), cooldc16-paper-hirki.pdf (usenix.org)

[3] Вайбхав Агравал, «Формальная проверка кэша макроопераций для Arm Cortex-A77 и его преемника ЦП», DVCON 2020, https://2020.dvcon-virtual.org/sites/dvcon20/files/2020- 01/05_2_P.pdf

[4] Брайан Грейсон, Джефф Рупли, Джеральд Зураски-младший, Эрик Куиннелл, Дэниел А.Хименес, Тарун Накра, Пол Китчин, Райан Хенсли, Эдвард Брекельбаум, Викас Синха и Анкит Гия, «Эволюция микроархитектуры ЦП Samsung Exynos», ISCA, Эволюция микроархитектуры ЦП Samsung Exynos (computer.org)

[5] Фабиан Оборил, Джос Эверт и Мехди Б. Тахури, «Онлайн-мониторинг энергопотребления с высоким разрешением для современных микропроцессоров», 2015 Design, Automation & Test in Europe Conference & Exhibition (DATE), Oboril15DATE.pdf (kit.edu)

[6] Винисиус Гарсия Пинто, Артур Ф.Лорензон, Антонио Карлос С. Бек, Николя Майяр и Филипп О. А. Наво, «Энергоэффективная оценка многоуровневого параллелизма на процессорах с низким энергопотреблением», CSBC 2014, csbc2014-wperformance.pdf (ufrgs.br)

(1) По крайней мере, для обычных целочисленных нагрузок. Расширения ISA могут иметь значение, если рабочие нагрузки могут использовать их преимущества. Известные примеры включают векторные расширения, такие как SSE/AVX/NEON/SVE, или расширения, связанные с шифрованием, такие как AES-NI. Вот пример того, когда ISA может иметь значение:

Время, затраченное на компиляцию симулятора процессора Gem5.Компиляция 3950X была выполнена из WSL на Win10, а компиляция Ampere была запущена в облачном экземпляре Oracle.

Zen 2 (x86) и Ampere (ARM) находятся примерно на одном уровне при компиляции кода, особенно если учесть, что Zen 2 предназначен для достижения целей с более высокой производительностью (более крупные структуры ядра, более высокие тактовые частоты).

Скорость кодирования HEVC, как сообщает ffmpeg после кодирования 4K-клипа Overwatch POTG

. Однако Ampere потребовалось более половины дня, чтобы перекодировать 24-секундное видео 4K, в то время как Zen 2 завершил работу чуть более чем за час.Оптимизация сборки не использовалась для ARM, поэтому я собрал ffmpeg/libx265 из последнего мастера. При использовании инструкций NEON производительность Ampere улучшилась более чем на 60%, сократив время кодирования до чуть более девяти часов. Но Ampere еще далеко до Zen 2.

Изучение счетчиков производительности показало, что Ampere выполнил в 13,6 раз больше инструкций, чем Zen 2 со стандартным ffmpeg Ubuntu 20.10, или в 7,58 раз больше с новейшим ffmpeg/libx265. Очевидно, что Ампер выполнял более простые инструкции и мог выполнять их быстрее, достигнув 3.3 или 3,03 IPC соответственно по сравнению с 2,35 у Zen 2. К сожалению, это не компенсирует необходимость выполнять на порядок больше инструкций. Неудивительно, что набор инструкций ARM со временем расширился и теперь включает в себя больше инструкций (в том числе сложных).

Но это тема для другого дня.

Что касается современных ARM и x86, то обе они имеют богатые расширения ISA, охватывающие большинство вариантов использования (внедрение и поддержка программной экосистемы — это отдельная история).

Похожие сообщения

Что это такое? В чем разница между ними?

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

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

В этой статье мы рассмотрим различия и применение каждой категории.

Чему вы научитесь

  1. Процессоры ARM и Intel: что это такое?
  2. Сравнение ARM и Intel
  3. Лучший процессор для Windows и Android
  4. ARM или Intel — какой процессор лучше?
  5. Почему сегодня все используют ARM?

Процессоры ARM и Intel: что это такое?

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

Поскольку процессоры ARM представляют собой форму архитектуры, для них не существует единого производителя. Эта технология используется как Apple, так и Android в своих мобильных устройствах, тогда как Intel используется в компьютерах.

Кроме того, ARM давно выпускает портативные устройства, в то время как Intel является относительным новичком. В настоящее время ARM является доминирующей архитектурой: iPad и iPhone, а также устройства Windows Phone полностью используют ARM, поэтому, если вы заинтересованы в этих платформах, разница между ARM и Intel не должна вас беспокоить. о.

Происхождение

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

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

Сравнение между ARM и Intel

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

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

Процессоры Intel (иногда называемые X86 в отношении 32-разрядных программ Windows) используют компьютер со сложным набором инструкций (CISC), тогда как процессоры ARM используют компьютер с сокращенным набором команд (RISC). В то время как оба быстро обрабатывают команды в 2021 году, отчасти из-за большого количества ядер, первый использует немного более сложный набор инструкций, который требует нескольких циклов для выполнения операций.

Основной идеей CISC является сложное аппаратное обеспечение и простое программное обеспечение. В данном случае это указывает на более фундаментальную функциональность языка ассемблера.

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

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

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

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

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

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

#3 Энергопотребление

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

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

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

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

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

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

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

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

Источник изображения

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

Источник изображения

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

Симметрия ядер #6

Использование асимметричных ядер ЦП — интригующее преимущество со стороны ARM. Множественные, но идентичные ядра встречаются в процессорах Intel и других процессорах x86. С другой стороны, процессоры ARM часто имеют много разных ядер.

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

Лучший процессор для Windows и Android

Для Windows

Если вы планируете приобрести планшет с Windows, обратите внимание на разницу между ARM и Intel. Когда вы покупали планшет на базе ARM в прошлом, вы получали урезанную версию Windows, получившую название Windows RT, которая могла запускать полноэкранные приложения из Магазина Windows, но не обычное настольное программное обеспечение.

С появлением Surface Pro X в 2019 году все изменилось. Несмотря на то, что корпус планшета не сильно изменился по сравнению с предыдущими воплощениями, Microsoft не отказалась от процессора ARM. Surface Pro X — это планшет на базе ARM, который работает под управлением полной Windows, а не разбавленной версии.

Процессор расширяет возможности клиентов от выбора приложений только в Microsoft Store до множества приложений, за одним исключением. Поскольку многие 64-разрядные версии программного обеспечения еще не совместимы с Surface Pro X, пользователям может потребоваться найти 32-разрядную версию программного обеспечения для его запуска.Мы рады видеть, что Microsoft не отказывается от чипов ARM в своей линейке мобильных продуктов, но есть еще несколько проблем, которые могут помешать вам использовать их.

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

Для Android

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

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

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

ARM или Intel — какой процессор лучше?

Как мы уже говорили, процессоры ARM и Intel в настоящее время имеют свои преимущества и недостатки. Что вы хотите делать со своими электронными устройствами и совместимы ли они с другим аппаратным и программным обеспечением, играют большую роль в принятии решения о том, что лучше для вас.

Процессоры Intel мощнее и быстрее, чем процессоры ARM. С другой стороны, чипы ARM более удобны для мобильных устройств, чем процессоры Intel (в большинстве случаев).

Люди, которые были непреклонны в отношении той или иной стороны, за последние несколько лет были расстроены. Собственные процессоры Apple ARM теперь используются в том, что когда-то было типичным Mac на базе Intel.

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

Apple обещает, что процессор M1 будет обеспечивать удвоенную мощность на треть использования батареи и имеет лучшую производительность процессора на ватт.

Почему сегодня все используют ARM?

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

ЦП Graviton2 от Amazon не так быстр, как серверные аналоги от Intel, но доступен по цене и потребляет меньше энергии. Учитывая, насколько он был лучше, чем Graviton1, его будущая версия почти наверняка столкнется с жесткой конкуренцией на рынке серверов.

Процессор Apple Silicon M1, первый процессор Apple для немобильных устройств, быстрее, чем процессоры Intel для настольных ПК, и почти так же быстр, как серия AMD Ryzen 5000, которая удерживает лидерство по производительности. Apple Macbook в настоящее время являются самыми быстрыми компьютерами в мире, к большому неудовольствию энтузиастов ПК из-за специального кремния.

Они настолько далеко впереди на рынке ноутбуков, что Windows на Macbook M1 работает быстрее, чем Windows на Surface Pro X, несмотря на то, что Windows на ARM запускается только через эмулятор.Как будто этого было недостаточно, он также превосходит Surface с оценкой Geekbench для одного ядра 1390 по сравнению с 802 Surface, что смехотворно мало.

Сообщается также, что Microsoft работает над собственным процессором ARM, и, хотя этот слух исходит из пространства серверов Azure, если они смогут сравниться с производительностью Apple, они наверняка будут использовать тот же чип для Surface.

Заключение

В конце концов, между процессорами ARM и Intel нет большой разницы.Вы можете использовать Google Chrome или YouTube для просмотра видео. На самом деле, вы можете делать это прямо сейчас, поскольку процессоры на базе ARM есть почти во всех телефонах Android и в каждом iPhone.

Для большинства людей наиболее существенным отличием является то, что более старое программное обеспечение Intel также необходимо будет перекомпилировать для работы на ARM. В некоторых случаях это просто, но не все программное обеспечение, особенно устаревшие приложения, будет поддерживаться. Даже в этом случае эмуляция Intel, которую начинает предлагать Windows, обычно справляется с этим.

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


Контролируйте все свое приложение с помощью Ататус

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

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

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

Если вы еще не являетесь клиентом Atatus, вы можете зарегистрируйтесь на 14-дневную бесплатную пробную версию .

.

Добавить комментарий

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