Сегодня почти каждый из нас использует устройства на базе ARM-процессоров — это смартфоны, телевизоры и даже холодильники с кофеварками. Несколько дней назад в прессу просочились слухи, что компания Apple объявит о переходе с платформы X86 на ARM на своих ноутбуках.

Мы в Advantech уже много лет производим устройства на платформе ARM и на это множество причин. В этой статье мы разберем что такое ARM (от англ. Advanced RISC Machine), в чем ее отличие от других архитектур и почему все больше производителей выбирает эту архитектуру.

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




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

Существует несколько основных концепций, используемых при проектировании процессоров. Наиболее популярные и широко известные всем это RISC и CISC.

CISC (англ. Complex Instruction Set Computing) — этот подход используется для разработки универсальных и мощных процессоров, которые обычно используются в десктопных компьютерах и на серверах. Такие процессоры как Intel CoreiN/Xeon/Pentium, AMD Ryzen/Atlhon/Sempron и прочие хорошие знакомые процессоры имеют набор инструкций типа CISC, оформленную в виде стандарта x86.

Основные особенности концепции CISC:

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

Процессоры типа CISC имеют более сложную архитектуру и обычно имеют вспомогательные программы работающие прямо в процессоре для упрощения работы программистов.

RISC (англ. reduced instruction set computer) — противоположная концепция проектирования процессоров. В RISC команды максимально упрощены и имеют более строгий формат и фиксированную длину. За счет упрощенных инструкций достигается высокая производительность при малом энергопотреблении. Процессоры RISC требуют от программиста большой контроль над выполнением кода, так как не имеют встроенных микропрограмм, работающих внутри процессора. Архитектура ARM (от англ. Advanced RISC Machine — усовершенствованная RISC-машина) это продолжение идеи архитектуры RISC развиваемое компанией ARM Limited. Сегодня множество компаний производят свои собственные ARM процессоры по лицензии от ARM Limited — например, популярные в смартфонах Qualcomm Snapdragon, Mediatek, Allwiner, Apple An/Hn а также популярные во встраиваемых системах Freescale i.MX, Broadcom, Nvidia Tegra и другие.

Основные особенности концепции RISC:

  • Упрощенные инструкции фиксированной длины
  • Меньшее энергопотребление
  • Больший контроль над работой со стороны исполняемых программ
  • Более сложные программы

Архитектура ARM значительно расширяет коцепцию RISC. Современные ARM-процессоры часто поставляются в формате SoC (System On Chip) и имеют на одном кристалле с процессором контроллер памяти, графическое ядро, аудио интерфейс, модули беспроводной связи и многое другое. Это позволяет производителям оборудования не тратить ресурсы на разработку собственных сложных систем под каждое устройство отдельно, а интегрировать уже готовую аппаратную платформу, сосредоточившись только на разработке необходимых функций конечного продукта.

X86 медленно развивается




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


Современные X86 процессоры имеют десятки ядер

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

ARM это экономично и современно




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

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

Основные достоинства процессоров ARM:

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

Устройства Advantech на платформе ARM


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

WISE-710 — IoT-шлюз на базе i.MX6




WISE-710 — универсальное устройство, которое одновременно может быть шлюзом для промышленных интерфейсов, устройством сбора и обработки данных, хабом для IoT устройств и маршрутизатором. Построено на базе SoC i.MX6, процессора на архитектуре ARM Cortex-A7.

ECU-1152 — Шлюз для промышленных интерфейсов на базе ARM Cortex A8




ECU-1152 — шлюз для промышленных интерфейсов а также устройство для связи с объектом и устройства сбора и передачи данных с объекта. Построено на базе процессора ARM процессора с ядром Cortex A8

Миниатюрный ARM-компьютер UNO-1251G



UNO-1251G — крохотных компьютер, умещающийся на DIN-рейку, на базе 32-битного процессора Cortex A8 под управлением Linux или Windows CE. Поддерживает модули расширения Wi-Fi/3G/4G. Имеет встроенную CAN-шину и два интерфейса RS-232. Два порта LAN позволяют подключать его к двум независимым Ethernet сетям или использовать как маршрутизатор.

Компьютеры для машинного обучения на базе Nvidia Jetson

image

MIC-720AI — построен на базе платформы Jetson TX2, работающей на собственных ядрах Nvidia ARM Cortex-A57 и NVIDIA Denver 2 с полностью пассивным охлаждением. Предназначен для установки в промышленные системы машинного зрения, на производстве и в подвижных объектах. Безвентиляторная конструкция обеспечивает полную бесшумность в работе и позволяет использовать компьютер в пыльных помещениях без необходимости обслуживания. Работает под управлением Linux

Будущее за ARM


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

Расскажите, как вы используете ARM-процессоры сегодня или как планируете использовать в будущем.