Главная >> Оборудование >> Чем архитектура ARM отличается от x86

Чем архитектура ARM отличается от x86

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

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

Что такое архитектура?

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

На данный момент существуют два типа архитектур: CISC (Complex Instruction Set Computing) и RISC (Reduced Instruction Set Computing). Первая предполагает, что в процессоре будут реализованы инструкции на все случаи жизни, вторая, RISC - ставит перед разработчиками задачу создания процессора с набором минимально необходимых для работы команд. Инструкции RISC имеют меньший размер и более просты.

arm-vs-x86-key-differences-explained-1

Архитектура x86

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

Первый процессор Intel 8086 имел разрядность 16 бит, далее в 2000 годах вышел процессор 32 битной архитектуры, и еще позже появилась архитектура 64 бит. Мы подробно рассматривали разрядность процессоров в отдельной статье. За это время архитектура очень сильно развилась были добавлены новые наборы инструкций и расширения, которые позволяют очень сильно увеличить производительность работы процессора.

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

 

Архитектура ARM

Эта архитектура была представлена чуть позже за x86 - в 1985 году. Она была разработана известной в Британии компанией Acorn, тогда эта архитектура называлась Arcon Risk Machine и принадлежала к типу RISC, но затем была выпущена ее улучшенная версия Advanted RISC Machine, которая сейчас и известна как ARM.

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

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

Отличия ARM и x86

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

Производство

Производство x86 vs arm отличается. Процессоры x86 производят только две компании Intel и AMD. Изначально эта была одна компания, но это совсем другая история. Право на выпуск таких процессоров есть только у этих компаний, а это значит, что и направлением развития инфраструктуры будут управлять только они.

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

Количество инструкций

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

ARM более прост. Здесь намного меньше инструкций процессора, только те, которые нужны операционной системе и реально используются. Если сравнивать x86, то там используется только 30% от всех возможных инструкций. Их проще выучить, если вы решили писать программы вручную, а также для их реализации нужно меньше транзисторов.

Потребление энергии

Из предыдущего пункта выплывает еще один вывод. Чем больше транзисторов на плате, тем больше ее площадь и потребление энергии, правильно и обратное.

Процессоры x86 потребляют намного больше энергии, чем ARM. Но на потребление энергии также влияет размер самого транзистора. Например, процессор Intel i7 потребляет 47 Ватт, а любой процессор ARM для смартфонов - не более 3 Ватт. Раньше выпускались платы с размером одного элемента 80 нм, затем Intel добилась уменьшения до 22 нм, а в этом году ученые получили возможность создать плату с размером элемента 1 нанометр. Это очень сильно уменьшит энергопотребление без потерь производительности.

28nm-wafer

За последние годы потребление энергии процессорами x86 очень сильно уменьшилось, например, новые процессоры Intel Haswell могут работать дольше от батареи. Сейчас разница arm vs x86 постепенно стирается.

Тепловыделение

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

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

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

Выводы

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

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

×

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

Оцените статью

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (24 оценок, среднее: 4,54 из 5)
Загрузка...
Creative Commons License
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

13 комментариев к “Чем архитектура ARM отличается от x86”

  1. Хорошая статья. Хочется, что бы в сравнении с х86 и ARM был ещё Эльбрус с VLIW. И есть ли архитектура для квантовых компьютеров?

    Ответить
  2. Если особо не придираться, то статья норм.
    Это я говорю как пользователь успевший поработать не только с процессорами 8086, но, и с 8080... ))

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

    Ответить
  3. А какая разница какая архитектура? С точки зрения пользователя всё равно, лишь бы программы запускались и работали. С точки зрения программиста, уже наверно тоже без особой, т.к. наверно почти все пишут программы на языках высокого уровня, что кстати предполагает не задумываться какие там сложные в витиеватые команды у того же х86. Остается сфера применений. Что не отнять у х86 так это количество софта под разные ОС. Ну наверно для ARM его тоже не мало. Далее, ARM какой-то больно специфичный. Обычно он встречается в готовых устройствах с уже определённой конфигурацией и под конкретное устройство, в том числе и по габаритам. Я например, не видел м.п. стандарта ATX (и его разновидностей) на ARM. Да есть всякие Raspberry, но это не то по функционалу (нет общего стандарта). Наверно есть какие-нибудь пром. платы на ARM, но это уже экзотика и скорее всего не стандартизированная. Было бы что-нибудь в mini-ITX, в этом формате есть х86 и пока что он лучше по совокупности.

    Ответить
  4. Дорогой Сергей.
    Было бы неплохо, если бы Вы в своих статьях делали ссылки (названия, url и т.п.) на источники приводимой информации. Тогда, может быть, Вы будете немного внимательнее относиться к тому, что Вы пишете. Например, хочется увидеть ссылку на источник, из которого Вы почерпнули информацию о производстве "плат" с проектными нормами 1 нм: Ваша фраза "...в этом году ученые получили возможность создать плату с размером элемента 1 нанометр..." - это мягко говоря - ахинея.

    Ответить
  5. Единственный плюс ARM - низкое энергопотребление и все!!! точка. Набор инструкций у x86 простой и понятный и полностью поддерживается большинством компиляторов. У ARM - ассемблер похож на на некое костылированое убожество с огромным количеством инструкций, большую половину которых тот-же GСС по умолчанию не использует. ARM на много медленнее. Хотя бы сравните время время входа в прерывание x86 и ARM. разница размером в пропасть! Последние плюшки(костыли) прилепленные и так к огромному набору инструкций ARMa что бы хоть как то его растормозить - разработчики ПО просто не могут использовать из за большого количества уже выпущенных разными производителями процессоров. Так как их ПО должно работать и на ARM7 и на ARM11 они на вынуждены использовать только базовый набор инструкций. Кто занимался оптимизацией игрового движка под ARM знает какой это пиз.......ц!!! Как только решится задача питания x86 на мобильной платформе - ARM потеряет свои позиции.

    Ответить
    • Да уж...согласен - количество инструкций в ARM-ассемблере, а значит и в процессоре значительно превосходит x86_64...тут дело в том, что автор не раскрыл в статье понятий RISC и CISC: у x86-х длина команд разной битности и в составе команды приходят ещё и данные, добивающие до размерности шины данных - отсюда и сложность реализации: больше блоков декодирования, больше транзисторов, большее энергопотребление, зато пропускная способность шины данных используется почти на все 100%...а вот в ARM-ах длина команды фиксирована - проще конструкция процессора из-за отсутствия столь необходимых x86-му блоков дешифрации команд/данных, меньше транзисторов, меньше энергопотребление, но и меньше производительность, т.к. она уже почти не зависит от ширины шины данных - это компенсируют большим количеством регистров, большим количеством команд: в общем решают проблемму пропускной способности шины данных програмным путём, т.к., если брать условно: на ARM за один такт загрузим команду в процессор, за второй - данные 1, за третий - данные 2, за четвёртый - произведёт действия с этими двумя данными и всё это x86-й сделает всего за два такта: за один такт загрузит команду с данными 1 и с данными 2, за второй такт - произведёт действия с этими двумя данными, т.е. то, что ARM делает за три такта, x86-й делает за один такт - это загрузка данных в процессор (всё это очень условно, на самом деле несколько сложнее, но, думаю, суть понятна), если хватит ширины шины данных для загрузки за такт двух данных с командой.

      Ответить
  6. Intel i7 потребляет 47 Вт - так анонсировано было, в спецификации установлено и пущено в море-океан на охоту за сверхприбылью. Люди читают, считают цифры, берут "хай-енд" машинку и чувствуют себя капитаном корабля.. только вот вряд потребители будут проводить тесты и смогут увидеть МОЩЬ на своём экране, а не в буклете Intel. Все эти частоты, количество ядер, кэш и турботехнологии.. зачем они?, ведь эти камни в режиме TurboBoost Max не способны развить свой потенциал даже на 40%. - Представьте что двигатель V8 5л. поставили в какой-нибудь Volkswagen Beetle вместо задних сидений и багажника, и конструктивно ограничили подачу топлива на 70%. Машинка маленькая, ограничена в системе охлаждения и питания, к тому-же забитая под завязку программами, службами ОС, но водитель давит тапку в пол без раздумий и от напряжения ноги кажется машина прёт как спорткар. Первых(корпорации) капитализм делает рабами "гонки за доходами", вторых (продавцов) лжецами, а покупателей - Овцами. И в итоге никто не выигрывает от этой схемы.
    Пипл, объясните зачем Intel столько соккетов за такое короткое время?
    А про х86 и ARM я думаю следующее - первая даёт потребителю возможность конструирования(цена\качество\цели) и дальнейшей модификации стационарных систем до невероятных мощностей, а вторая архитектура незаменима в повсеместной цифровизации экономики\промышленности\политики\индивида. Если есть что добавить или возразить, velma ponezhe.

    Ответить
  7. Мда... такого количества ляпов я ещё не видел. ну любую книжку конца 80-х по пс архитектуре посмотрите, там указаны все перепетрии до 32 битного 386 процессора, это ещё 80-е года!!!
    Шутка про х86 архитектуру, винтел - 64 битный патч на 32 битное расширение на 16 битную графическую оболочку, написанную для 8 битной операционной системы, написанной для 4 битного процессора...
    с удивлением - гугль и яндекс уже о этой шутке уже не знает.

    Ответить
  8. Первый процессор фирмы INTEL был I4004 - 4-х разрядный шиной адреса, шиной данных и системной шиной, второй I8080 - 8-ми разрядный с теми же шинами но на восемь разрядов; далее был выпущен процессор I8085 также 8-ми разрядный, но с шиной адреса-данных, за тем был выпущен I8086 - 16-ти разрядный шиной адреса, шиной данных и системной шиной, далее I8088 - 16-ти разрядный шиной адреса-данных и системной шиной, потом I80186 - 16-ти разрядный шиной адреса, шиной данных и системной шиной, и только после I80286 - 16-ти разрядный шиной адреса, шиной данных и системной шиной. Все эти процессоры отличались только количеством команд и возможностью адресации и управления ОЗУ. К I80286 был дополнительно выпущен математический сопроцессор I80287.

    Ответить
  9. сейчас, после заявление Эпл о полном отказе от Интел и АМД и полным переходом на собственный АРМ (Эпл Силикон) будет большой резонанс в мире железа

    Ответить

Оставьте комментарий