Открыть сервис

ARM Cortex-M33

ARM Cortex-M33 — это 32-битное микропроцессорное ядро, разработанное компанией ARM Holdings (ARM Ltd. — британская компания, не подпадающая под ограничения в РФ) на архитектуре ARMv8-M. Оно предназначено для использования во встраиваемых системах, микроконтроллерах и приложениях интернета вещей (IoT), где требуется сочетание высокой производительности, энергоэффективности и расширенных функций безопасности. Ядро является преемником Cortex-M3 и M4, предлагая улучшенную производительность за счёт поддержки набора команд ARMv8-M Mainline, включая опциональную поддержку операций с плавающей запятой (FPU) и цифровой обработки сигналов (DSP).

История и развитие

Ядро Cortex-M33 было анонсировано ARM в 2016 году как часть архитектуры ARMv8-M, которая впервые в семействе Cortex-M ввела поддержку технологии TrustZone для аппаратной изоляции доверенного и недоверенного кода. Разработка была направлена на удовлетворение растущих требований к безопасности в IoT-устройствах, где традиционные микроконтроллеры не имели встроенных механизмов защиты от атак на программное обеспечение.

Cortex-M33 стал первым ядром в линейке Cortex-M, реализующим архитектуру ARMv8-M Mainline, которая включает в себя как базовые инструкции Thumb, так и расширения для работы с 32-битными операциями. По сравнению с предшественниками (Cortex-M3 и M4), новое ядро обеспечивает прирост производительности на 10–20% при той же тактовой частоте, в основном за счёт улучшенной микроархитектуры и оптимизации конвейера.

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

Процессорное ядро

Cortex-M33 основано на гарвардской архитектуре с раздельными шинами команд и данных. Оно поддерживает:

  • Набор команд ARMv8-M Mainline: включает все инструкции Thumb/Thumb-2, а также новые инструкции для работы с 32-битными операциями и безопасностью.
  • Опциональный FPU: поддержка одинарной точности (IEEE 754) для операций с плавающей запятой.
  • DSP-расширения: набор инструкций для цифровой обработки сигналов (умножение-накопление, насыщение, битовые операции).
  • Конвейер: 3-ступенчатый конвейер с предсказанием переходов (статическое предсказание).
  • Тактовая частота: типичные реализации работают на частотах от 100 до 200 МГц, хотя возможны и более высокие значения в зависимости от техпроцесса.

Безопасность (TrustZone)

Ключевая особенность Cortex-M33 — поддержка технологии TrustZone for ARMv8-M, которая позволяет разделять программное обеспечение на два изолированных мира: «доверенный» (Secure World) и «недоверенный» (Non-Secure World). Это реализовано на аппаратном уровне:

  • Два набора регистров и системных ресурсов для каждого мира.
  • Аппаратная проверка доступа к памяти и периферии.
  • Поддержка безопасных вызовов (Secure Gateway) для переключения между мирами.

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

Система памяти и шины

Ядро использует шину AMBA 5 AHB5 для доступа к памяти и периферии. Поддерживаются:

  • Кэш-память: опционально до 4 КБ кэша инструкций (I-cache) и данных (D-cache).
  • TCM (Tightly Coupled Memory): до 16 МБ памяти с низкой задержкой доступа.
  • MPU (Memory Protection Unit): до 16 регионов защиты памяти, настраиваемых для каждого мира TrustZone.
  • Поддержка внешней памяти: через шину AHB5 или AXI (опционально).

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

Cortex-M33 оптимизировано для низкого энергопотребления. Типичные значения:

  • Активный режим: около 10–15 мкВт/МГц (в зависимости от техпроцесса и конфигурации).
  • Режимы сна: поддержка нескольких режимов пониженного энергопотребления (Sleep, Deep Sleep), управляемых через системный контроллер.

Применение

Микроконтроллеры и SoC

Cortex-M33 широко используется в микроконтроллерах и системах-на-кристалле (SoC) для различных приложений:

Примеры реализаций

  • NXP LPC5500 — серия микроконтроллеров на базе Cortex-M33 с частотой до 150 МГц, поддержкой TrustZone и DSP.
  • STMicroelectronics STM32L5 — микроконтроллеры с ядром Cortex-M33, ориентированные на безопасные IoT-приложения.
  • Microchip PIC64GX — семейство SoC с двумя ядрами Cortex-M33 и одним RISC-V.
  • Silicon Labs EFM32 Giant Gecko S3 — микроконтроллеры с низким энергопотреблением и TrustZone.

Сравнение с другими ядрами Cortex-M

ХарактеристикаCortex-M33Cortex-M4Cortex-M7
АрхитектураARMv8-M MainlineARMv7E-MARMv7E-M
Конвейер3 ступени3 ступени6 ступеней
FPUОпционально (одинарная точность)Опционально (одинарная точность)Опционально (одинарная/двойная точность)
DSPДаДаДа
TrustZoneДаНетНет
КэшОпционально (до 4 КБ)НетДа (до 64 КБ)
Производительность1,5 DMIPS/МГц1,25 DMIPS/МГц2,14 DMIPS/МГц
Энергопотребление~10–15 мкВт/МГц~10–15 мкВт/МГц~20–30 мкВт/МГц

Cortex-M33 занимает промежуточное положение между Cortex-M4 (схожая производительность, но без TrustZone) и Cortex-M7 (более высокая производительность, но выше энергопотребление и сложность). Для задач, где требуется безопасность и низкое энергопотребление, Cortex-M33 является оптимальным выбором.

Инструменты разработки

Для программирования и отладки Cortex-M33 используются стандартные инструменты экосистемы ARM:

  • Компиляторы: ARM Compiler, GCC (GNU Arm Embedded Toolchain), IAR Embedded Workbench, Keil MDK.
  • Отладчики: J-Link (SEGGER), ST-Link, ULINK.
  • Операционные системы: FreeRTOS, Zephyr, Azure RTOS ThreadX, Mbed OS.
  • Библиотеки: CMSIS (Cortex Microcontroller Software Interface Standard) — стандартный набор API для работы с ядром и периферией.

Критика и ограничения

Несмотря на широкое распространение, Cortex-M33 имеет некоторые недостатки:

  • Отсутствие поддержки двойной точности FPU: в отличие от Cortex-M7, ядро не поддерживает операции с плавающей запятой двойной точности, что ограничивает его применение в научных и аудио-приложениях.
  • Ограниченная производительность: по сравнению с Cortex-M7, ядро уступает в задачах, требующих высокой вычислительной мощности (например, обработка сложных аудио- или видео-сигналов).
  • Сложность реализации TrustZone: для полного использования возможностей безопасности требуется тщательное проектирование программного обеспечения, что увеличивает время разработки.

Интересные факты

  • Cortex-M33 стало первым ядром в семействе Cortex-M, которое получило встроенную поддержку TrustZone, что сделало его популярным в устройствах для платёжных систем и электронных ключей.
  • Некоторые производители (например, NXP) предлагают микроконтроллеры на базе Cortex-M33 с возможностью работы при температурах до 125°C, что позволяет использовать их в автомобильной и промышленной электронике.
  • Ядро используется в ряде российских разработок, включая микроконтроллеры компании «Микрон» (Зеленоград), хотя точные модели не раскрываются.

Источники

  1. ARM Architecture Reference Manual ARMv8-M (ARM DDI 0553A).
  2. ARM Cortex-M33 Technical Reference Manual (ARM DDI 0554B).
  3. NXP LPC5500 Series Datasheet (NXP Semiconductors, 2020).
  4. STM32L5 Series Reference Manual (STMicroelectronics, 2021).
  5. «ARM Cortex-M33: The Next Generation of Secure Microcontrollers» — ARM White Paper, 2016.
  6. «TrustZone for ARMv8-M: Hardware Security for IoT» — ARM Developer Documentation, 2017.
  7. «Микроконтроллеры на базе ARM Cortex-M33: обзор и перспективы» — журнал «Электронные компоненты», №4, 2022.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →