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

ARM Cortex

ARM Cortex — это семейство микропроцессорных ядер, разработанных британской компанией ARM Holdings (ныне входит в состав SoftBank Group) на основе архитектуры ARM. Ядра Cortex представляют собой физические реализации (hard macros) или синтезируемые модели (soft cores) процессоров, предназначенные для лицензирования и интеграции в системы на кристалле (SoC) сторонними производителями. Семейство охватывает широкий спектр производительности и энергопотребления — от маломощных встраиваемых контроллеров до высокопроизводительных вычислительных кластеров для серверов и суперкомпьютеров.

История

Разработка семейства Cortex началась после того, как ARM Holdings в 2004 году отказалась от традиционной системы именования ядер (ARM7, ARM9, ARM11) в пользу более структурированной линейки. Первым ядром нового поколения стал ARM Cortex-M3, анонсированный в 2004 году и предназначенный для микроконтроллеров. В 2005 году вышли ядра Cortex-A8 (первое ядро архитектуры ARMv7-A) и Cortex-R4 (первое ядро архитектуры ARMv7-R). В 2011 году ARM представила 64-битную архитектуру ARMv8-A, первым ядром которой стал Cortex-A53 (2012 год), а затем Cortex-A57 (2013 год). В 2021 году ARM анонсировала архитектуру ARMv9, первыми ядрами которой стали Cortex-X2, Cortex-A710 и Cortex-A510.

Классификация

Семейство Cortex делится на три основные подсемейства, различающиеся по назначению, архитектурным особенностям и уровню производительности:

Cortex-A (Application)

Ядра Cortex-A ориентированы на операционные системы общего назначения (Linux, Android, iOS, Windows) и высокопроизводительные вычисления. Они поддерживают виртуализацию, многоуровневую кэш-память, сложные конвейеры команд и, начиная с ARMv8-A, 64-битные вычисления. Примеры: Cortex-A76, Cortex-X1, Cortex-A78. Используются в смартфонах, планшетах, ноутбуках, серверах и игровых консолях.

Cortex-R (Real-time)

Ядра Cortex-R предназначены для систем реального времени, где критичны детерминированное выполнение команд и низкая задержка прерываний. Они имеют встроенный контроллер прерываний, аппаратную поддержку защиты памяти (MPU) и часто — двухъядерные конфигурации с блокировкой (lockstep) для отказоустойчивости. Примеры: Cortex-R5, Cortex-R52, Cortex-R82. Применяются в автомобильных системах (ABS, подушки безопасности), промышленных контроллерах, медицинском оборудовании и сетевых устройствах.

Cortex-M (Microcontroller)

Ядра Cortex-M — это энергоэффективные микроконтроллерные ядра с минимальным энергопотреблением, оптимизированные для встраиваемых систем с ограниченными ресурсами. Они имеют компактный набор команд (Thumb/Thumb-2), встроенный контроллер прерываний (NVIC), низкое время выхода из сна и часто — интеграцию с периферией (таймеры, АЦП, интерфейсы). Примеры: Cortex-M0, Cortex-M4, Cortex-M7, Cortex-M33. Используются в датчиках, бытовой технике, носимых устройствах, IoT-модулях.

Архитектурные особенности

Система команд

Все ядра Cortex поддерживают набор команд Thumb (16-битные инструкции) и Thumb-2 (смесь 16- и 32-битных инструкций). Ядра Cortex-A дополнительно поддерживают полный 32-битный набор ARM (ARMv7-A) и 64-битный набор A64 (ARMv8-A, ARMv9). Ядра Cortex-M используют только Thumb/Thumb-2, что снижает размер кода и энергопотребление.

Конвейер и производительность

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

Энергопотребление ядер Cortex варьируется от нескольких микроватт (Cortex-M0 в режиме сна) до нескольких ватт (Cortex-A76 в активном режиме). ARM использует технологию big.LITTLE (с 2011 года) и DynamIQ (с 2017 года), позволяющую комбинировать высокопроизводительные ядра (Cortex-A) с энергоэффективными (Cortex-A) в одной SoC для динамического переключения задач.

Применение

Мобильные устройства

Ядра Cortex-A доминируют на рынке смартфонов и планшетов. Например, Apple A13 Bionic (iPhone 11) использует кастомные ядра на базе архитектуры ARMv8.4-A, а Qualcomm Snapdragon 8 Gen 2 — ядра Cortex-X3, Cortex-A715 и Cortex-A510. В Android-устройствах ядра Cortex-A76, A78, X1, X2 являются стандартом для флагманских моделей.

Встраиваемые системы и IoT

Ядра Cortex-M — основа микроконтроллеров STM32 (STMicroelectronics), EFM32 (Silicon Labs), LPC (NXP) и многих других. Они используются в умных розетках, термостатах, фитнес-трекерах, промышленных датчиках и медицинских имплантах. Ядра Cortex-R применяются в автомобильных ECU (электронных блоках управления), контроллерах тормозов и подушек безопасности.

Серверы и облачные вычисления

С 2018 года ядра Cortex-A (например, Cortex-A76, Neoverse N1) начали использоваться в серверных процессорах: Amazon Graviton2 (AWS), Ampere Altra, Huawei Kunpeng 920. Они обеспечивают высокую энергоэффективность (до 30% экономии энергии по сравнению с x86) и масштабируемость до 128 ядер на кристалл.

Автомобильная промышленность

Ядра Cortex-R и Cortex-A применяются в системах ADAS (автопилот, круиз-контроль), информационно-развлекательных системах (IVI) и телематических модулях. Например, NXP S32V234 использует Cortex-A53 для обработки видео и Cortex-M4 для управления.

Критика

Основные претензии к семейству Cortex связаны с:

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

Источники

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

На главную BFOmetr →