MIPS, ARM, X86 или NPU: какие аппаратные правила для шлюзов IoT?

Введение

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

Аппаратная платформа шлюза IoT-шлюз является важнейшим выбором, влияющим на производительность, энергопотребление, стоимость, совместимость с программным обеспечением и многое другое. Существует четыре основных аппаратных архитектуры, которые следует рассматривать для шлюзов IoT: MIPS, ARM, X86 и NPU (Neural Processing Units).

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

MIPS

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

Сильные стороны MIPS для шлюзов IoT

  • Эффективность производительности. Архитектура RISC и конвейерная обработка позволяют ядрам MIPS выполнять больше инструкций за такт, обеспечивая высокую производительность даже на более низких тактовых частотах. Это делает его энерго- и экономически эффективным.
  • Возможности работы в реальном времени. MIPS имеет архитектурные особенности, такие как слоты задержки ветвления, которые обеспечивают детерминированное время выполнения для приложений реального времени.
  • Масштабируемость. MIPS поддерживает несколько ядер и многопоточность для гибкого масштабирования. Архитектура доказала возможность масштабирования до 128 ядер.
  • Зрелость программного обеспечения. MIPS имеет десятилетия поддержки программного обеспечения для таких зрелых операционных систем, как Linux, операционных систем реального времени и инструментов разработки.

Слабые стороны MIPS для шлюзов IoT

  • Сложный набор инструкций. Несмотря на то, что RISC, MIPS имеет больший набор инструкций, чем его конкуренты, такие как ARM, что увеличивает объем памяти.
  • Не хватает встроенного управления памятью. Нет защиты памяти или возможностей виртуальной памяти, требуется поддержка ОС.
  • Не широко используется в конечных устройствах IoT. Хотя MIPS популярен в инфраструктуре, ему не хватает популярности в конечных устройствах IoT по сравнению с ARM.

Популярные IoT-шлюзы на базе MIPS

  • Linksys WRT1900ACS — потребительский беспроводной маршрутизатор, использующий двухъядерный процессор MIPS с частотой 1,6 ГГц.
  • Alotcer AR7091 — промышленный IoT-маршрутизатор с процессором MIPS 600 МГц.
  • Серия Juniper SRX — серия защищенных маршрутизаторов с высокопроизводительными многоядерными процессорами MIPS.
  • Cavium OCTEON — семейство многоядерных процессоров MIPS64, предназначенных для проводной и беспроводной инфраструктуры.

ARM

ARM относится к архитектуре набора команд и соответствующим процессорам RISC, разработанным ARM Holdings. Ядра ARM используются в большинстве смартфонов и планшетов и широко используются во встроенных системах.

Сильные стороны ARM для IoT-шлюзов

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

Слабые стороны ARM для IoT-шлюзов

  • Нет встроенной поддержки виртуальной памяти — ARM не имеет полных возможностей виртуальной памяти и опирается на такие операционные системы, как Linux.
  • Производительность в реальном времени не такая высокая. Несмотря на улучшение, производительность в реальном времени отстает от MIPS. Поддержка RTOS помогает.
  • Более низкая однопоточная производительность. Более RISC-подобный конвейер означает отставание ARM в однопоточной обработке по сравнению с MIPS и X86.

Популярные IoT-шлюзы на базе ARM

  • Raspberry Pi — этот чрезвычайно популярный одноплатный компьютер использует процессоры ARM. Часто используется для DIY-шлюзов.
  • Beaglebone — одноплатные компьютеры с открытым исходным кодом, использующие процессоры TI ARM.
  • Alotcer AR7091G — многоядерный процессор ARM Cortex-A9, специально разработанный для промышленных шлюзов Интернета вещей.
  • Qualcomm FSM90xx — модемная платформа Snapdragon IoT со встроенным процессором приложений ARM.

X86

Архитектура x86 от Intel и AMD доминирует в ноутбуках, настольных компьютерах и серверах, обеспечивая высокую производительность при одно- и многопоточных рабочих нагрузках.

Сильные стороны X86 для шлюзов IoT

  • Производительность обработки. X86 превосходно справляется с производительностью ЦП для шлюзов с интенсивным использованием данных и сети.
  • Мощные ядра. Современные 64-разрядные ядра x86 поддерживают расширенную виртуализацию, защиту памяти и многопоточность.
  • Совместимость программного обеспечения. Двоичные файлы X86 работают в большинстве операционных систем без необходимости портирования, что упрощает разработку.
  • Поддержка виртуализации. Возможности аппаратной виртуализации идеально подходят для многопользовательских шлюзов.

Слабые стороны X86 для шлюзов IoT

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

Популярные IoT-шлюзы на базе архитектуры X86

  • Intel Atom E3800 — SoC x86 с низким энергопотреблением для встроенных шлюзов Интернета вещей.
  • Intel Xeon D — процессор серверного класса, обеспечивающий высокую производительность для требовательных шлюзов.
  • Jetway NF9D-2780 — встроенный блок на базе Atom для промышленного Интернета вещей.
  • ADLINK IXG-100 — надежный шлюз x86 с функциями виртуализации.

NPUs

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

Сильные стороны NPU для шлюзов IoT

  • Ускорение вывода — NPU ускоряют вывод ML, что идеально подходит для обработки изображений и речи на периферии.
  • Низкое энергопотребление — предназначено для обеспечения высокого значения TOPS/Ватт (триллионов операций в секунду на ватт) для определения границ.
  • Аппаратное ускорение — разгрузите логические выводы машинного обучения от основного процессора приложения для большей эффективности.
  • Оптимизирован для нейронных сетей. В отличие от графических процессоров, NPU разработаны специально для моделей нейронных сетей.

Слабые стороны NPU для шлюзов IoT

  • Узкая направленность — NPU не обладают общей программируемостью, как CPU, или гибкостью GPU. Современные NPU представляют собой ускорители выводов ML.
  • Технология все еще развивается — возможности NPU и поддержка программного обеспечения все еще развиваются по сравнению с традиционными процессорами и графическими процессорами.
  • Проблемы переносимости модели. Квантование модели и другие оптимизации, необходимые для использования преимуществ выполнения NPU.

Популярные IoT-шлюзы на базе NPU

  • Intel Movidius — специальный блок обработки изображений добавляет к шлюзам функции нейронного вывода.
  • NVIDIA Jetson Xavier — сочетает в себе процессор ARM и NPU с тензорным ядром для периферийного искусственного интеллекта.
  • Google Edge TPU — ускоритель ASIC, предназначенный для запуска моделей TensorFlow Lite ML.
  • Xnor.ai AI2GO — Маломощное периферийное устройство со встроенной бинарной нейронной сетью NPU.

Сравнение четырех платформ

MIPS против ARM

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

MIPS vs X86

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

MIPS vs NPU

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

ARM vs X86

ARM vs X86

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

ARM vs NPU

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

X86 vs NPU

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

Факторы, которые следует учитывать при выборе аппаратной платформы

Выбор правильной аппаратной платформы предполагает рассмотрение ряда факторов:

Требования к производительности

  • Требования к обработке целевых рабочих нагрузок влияют на выбор архитектуры MIPS, ARM, X86 или NPU.
  • Рабочим нагрузкам с интенсивным использованием данных и сети может потребоваться высокая производительность X86.
  • MIPS, ARM и NPU также предоставляют различные варианты производительности, подходящие для многих шлюзов.

Ограничения по энергопотреблению

  • Шлюзы с батарейным питанием или низким энергопотреблением повышают эффективность ARM или добавляют выделенные процессоры NPU.
  • MIPS обеспечивает производительность при умеренном уровне мощности.
  • X86 – наименее энергоэффективная архитектура.

Стоимость

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

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

  • X86 позволяет повторно использовать программные активы, такие как виртуальные машины и контейнеры, разработанные для серверов.
  • MIPS и ARM могут потребовать некоторого портирования и оптимизации программного обеспечения.

Поддержка экосистем

  • X86 извлекает выгоду из обширной поддержки экосистемы общего назначения.
  • ARM имеет надежную поддержку мобильных и встроенных устройств.
  • MIPS и NPU в настоящее время имеют менее широкую поддержку.

Примеры из практики

Интеллектуальная камера с обработкой искусственного интеллекта

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

Шлюз для мониторинга промышленных объектов

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

Многопользовательский пограничный шлюз

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

Интеллектуальный домашний концентратор

В чувствительном к затратам потребительском Интернете вещей выбор недорогой, но функциональной платформы является ключевым моментом. Микроконтроллер ARM Cortex-M обеспечивает достаточную производительность для концентратора умного дома при очень низкой стоимости и мощности.

Часто задаваемые вопросы

В чем разница между микроконтроллером и микропроцессором?

  • Микроконтроллеры, такие как Cortex-M, объединяют ядра процессора с периферийными устройствами, такими как память, устройства ввода-вывода, таймеры и т. д., в одном чипе. Микропроцессоры — это просто процессор/ЦП.

Что такое система-на-кристалле (SoC)?

  • SoC объединяет всю компьютерную систему в один чип. SoC содержат ядра микропроцессора, а также дополнительные компоненты, такие как память, хранилище, устройства ввода-вывода, модемы и многое другое.

В чем разница между 32-битной и 64-битной архитектурой?

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

Какова роль операционной системы в шлюзе Интернета вещей?

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

Какие операционные системы шлюзов Интернета вещей являются популярными?

  • Linux и дистрибутивы на его основе, такие как Ubuntu, являются популярным выбором с открытым исходным кодом. Также широко используются операционные системы реального времени, такие как FreeRTOS. ОС Microsoft Azure Sphere обеспечивает безопасность.

Каковы некоторые соображения по безопасности для шлюзов Интернета вещей?

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

Заключение

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

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

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

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

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

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