Различия между ARM и Intel x86-64

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

Что означает x86-64?

Процессоры Intel, используемые в настольных и портативных компьютерах, иногда называют процессорами «x86». 64-битная архитектура, которую сегодня используют все современные компьютеры, теперь располагается поверх модели x86, которая теперь называется «x86-64».

Все это звучит немного запутанно, но это помогает объяснить, почему в Windows есть две разные папки Program Files.

Чтобы упростить ситуацию, все 32-битные приложения помещаются в папку x86, а 64-битные – в другую папку. Так повелось с тех пор, как Microsoft выпустила 64-битную версию Windows XP в 2001 году.

Чтобы немного упростить ситуацию, мы будем обозначать «x86-64» как «x86», поскольку между 32- и 64-битными чипами есть достаточно сходств, чтобы объединить их в одну группу.

Название «x86» происходит от дедушки современных процессоров – микропроцессора Intel под названием 8086. Этот 16-битный чип работал на основе набора инструкций, который до сих пор в значительной степени используется в современных процессорах для выполнения сложных вычислительных задач.

Все, от вашего текстового редактора до передового программного обеспечения для рендеринга видео, до сих пор работает на архитектуре, которая родилась в 1978 году!

После выпуска микропроцессора 8086 компания Intel продолжала использовать это название для последующих моделей, таких как 80286 и 80386, пока не нарушила традицию, выпустив серию Pentium. Тем не менее, мы до сих пор отдаем дань уважения этим старым чипам, называя все последующие процессоры, использующие их набор инструкций, «x86».

Даже более современные 64-битные процессоры, которые AMD впервые выпустила в серии Opteron в 2000-х годах, получили такое же обозначение, поскольку подавляющее большинство 64-битных процессоров в настольных системах и серверах продолжают стоять на столпе 8086.

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

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

Вот здесь-то мы и переходим к основному различию между чипами ARM и x86.

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

CISC против RISC

Если CISC-чипу нужно перемножить два числа, он может выполнить одну команду: MULT 2, 3 . Эта единственная команда охватывает загрузку чисел из памяти, их умножение и сохранение результата в нужной ячейке памяти. RISC-чип, выполняющий ту же операцию, потребует гораздо больше шагов. Во-первых, инструкция LOAD для перемещения чисел из регистраторов в блок исполнения. Затем инструкция PROD для умножения чисел. И наконец, инструкция STOR для помещения результата в нужный регистр.

Хотя CISC-чип может показаться более эффективным, поскольку его команды выглядят проще, имейте в виду несколько важных отличий:

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

У CISC есть некоторые преимущества. Во-первых, компьютеру не нужно выполнять много работы, чтобы перейти с языка программирования человеческого уровня, такого как C, на язык ассемблера процессорного уровня. На самом деле, команда MULT, упомянутая выше, очень похожа на команду C foo = foo * bar.

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

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

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

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

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

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

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

Поскольку Microsoft также выпустила Windows 11 для архитектуры ARM, а Apple перевела свои Mac на использование чипов ARM, вы тоже можете быть заинтересованы в приобретении ARM-компьютера. Однако все сводится к одному очень простому вопросу: Пытаетесь ли вы выжать максимум производительности из каждого ватт-часа энергии, поставляемой вашей батареей? Или вы предпочитаете выжимать из устройства как можно больше производительности в ущерб времени автономной работы?

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

Зарубин Иван Эксперт по Linux и Windows

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

Вдохновлен www.maketecheasier.com

Похожие статьи

Комментарии (0)