ARM Cortex-A
ARM Cortex-A — это семейство 32- и 64-разрядных микропроцессорных ядер, разработанных британской компанией ARM Holdings (ныне входит в состав SoftBank Group) на основе архитектуры ARM (Advanced RISC Machine). Ядра серии Cortex-A ориентированы на использование в высокопроизводительных вычислительных устройствах, таких как смартфоны, планшеты, одноплатные компьютеры, сетевое оборудование, автомобильные информационно-развлекательные системы и серверы. Ключевыми характеристиками семейства являются поддержка операционных систем общего назначения (Linux, Android, Windows, iOS), высокая производительность на ватт потребляемой энергии и масштабируемость от одноядерных до многоядерных конфигураций.
История
Предшественники и появление
До появления семейства Cortex-A ARM предлагала процессорные ядра серий ARM7, ARM9 и ARM11, которые использовались в ранних смартфонах и КПК. Однако к середине 2000-х годов требования к производительности мобильных устройств возросли, и ARM начала разработку принципиально новой микроархитектуры. Первым ядром нового семейства стало ARM Cortex-A8, анонсированное в 2005 году. Оно было основано на архитектуре ARMv7-A и стало первым ядром ARM, реализованным по технологии суперскалярного выполнения команд (двухканальный конвейер) и с поддержкой расширенных SIMD-инструкций NEON.
Развитие в 2010-е годы
В 2009 году вышло ядро ARM Cortex-A9, которое стало одним из самых массовых в истории ARM. Оно поддерживало многоядерные конфигурации (до 4 ядер) и использовалось в таких процессорах, как Apple A5 (iPhone 4S, iPad 2), NVIDIA Tegra 2 и Samsung Exynos 4210. Cortex-A9 обеспечил значительный прирост производительности по сравнению с предшественниками, сохранив низкое энергопотребление.
В 2011 году было представлено ядро ARM Cortex-A15 MPCore, ориентированное на ещё более высокую производительность. Оно поддерживало out-of-order (внеочередное) выполнение инструкций, 40-битную адресацию физической памяти и могло работать на частотах до 2,5 ГГц. Cortex-A15 использовался в процессорах Samsung Exynos 5410 (Galaxy S4) и NVIDIA Tegra 4, однако его высокое энергопотребление привело к внедрению технологии big.LITTLE, где производительные ядра Cortex-A15 комбинировались с энергоэффективными Cortex-A7.
Переход на 64-битную архитектуру
С появлением архитектуры ARMv8-A в 2011 году ARM анонсировала первые 64-битные ядра: Cortex-A53 и Cortex-A57. Cortex-A53 стал самым массовым 64-битным ядром, используемым в миллиардах устройств благодаря балансу производительности и энергоэффективности. Cortex-A57, напротив, был высокопроизводительным ядром для серверов и топовых смартфонов. Позднее, в 2015 году, вышло ядро Cortex-A72, которое стало основой для многих процессоров среднего и высокого сегмента.
Современный этап
Начиная с 2017 года ARM перешла к ежегодному обновлению микроархитектур с кодовыми названиями. Ядра Cortex-A76 (2018), Cortex-A77 (2019) и Cortex-A78 (2020) обеспечили значительный прирост IPC (Instructions Per Clock) — количества инструкций, выполняемых за такт. В 2021 году ARM представила архитектуру ARMv9 и ядро Cortex-X2 (серия Cortex-X для экстремальной производительности), а также Cortex-A710 и Cortex-A510. В 2023 году вышли ядра Cortex-X4, Cortex-A720 и Cortex-A520, которые ещё больше улучшили производительность и энергоэффективность.
Архитектура и особенности
Система команд
Все ядра Cortex-A поддерживают систему команд ARM (32-битные инструкции) и Thumb/Thumb-2 (16- и 32-битные смешанные инструкции). Начиная с архитектуры ARMv8-A, поддерживается 64-битный режим AArch64 с новым набором инструкций A64. Ядра Cortex-A также включают расширения NEON для векторных вычислений (SIMD) и, в некоторых моделях, поддержку криптографических инструкций (AES, SHA).
Микроархитектура
Ядра Cortex-A различаются по степени сложности конвейера и организации выполнения инструкций:
- In-order (последовательное выполнение): характерно для энергоэффективных ядер (Cortex-A53, Cortex-A55, Cortex-A510). Инструкции выполняются строго в порядке поступления, что снижает сложность схемы и энергопотребление, но ограничивает пиковую производительность.
- Out-of-order (внеочередное выполнение): используется в производительных ядрах (Cortex-A72, Cortex-A76, Cortex-X2). Процессор может переупорядочивать инструкции для более эффективного использования исполнительных блоков, что значительно повышает IPC.
Кэш-память
Ядра Cortex-A имеют многоуровневую кэш-память. Уровень L1 обычно разделён на кэш инструкций и данных (32–64 КБ каждый). Уровень L2 может быть частным для ядра или общим для кластера ядер (от 256 КБ до нескольких мегабайт). В некоторых конфигурациях (например, Cortex-A76) используется L3-кэш, общий для всех ядер в процессоре.
Big.LITTLE и DynamIQ
Технология big.LITTLE, представленная в 2011 году, позволяет комбинировать в одном процессоре производительные (big) и энергоэффективные (LITTLE) ядра Cortex-A. Операционная система с помощью специального планировщика (например, Energy-Aware Scheduling в Linux) динамически переключает задачи между ядрами в зависимости от нагрузки, что снижает энергопотребление.
В 2017 году ARM представила технологию DynamIQ, которая заменила big.LITTLE. DynamIQ позволяет создавать гибкие кластеры из ядер разных типов (например, 1+3+4) с общим кэшем L3 и более эффективным управлением питанием. Эта технология используется во всех современных процессорах ARM для мобильных устройств.
Классификация ядер Cortex-A
По поколениям архитектуры
| Архитектура | Примеры ядер | Разрядность | Год анонса |
|---|---|---|---|
| ARMv7-A | Cortex-A8, A9, A15 | 32-бит | 2005–2011 |
| ARMv8-A | Cortex-A53, A57, A72, A73 | 32/64-бит | 2012–2016 |
| ARMv8.2-A | Cortex-A76, A77, A78 | 64-бит | 2018–2020 |
| ARMv9-A | Cortex-X2, A710, A510 | 64-бит | 2021 |
| ARMv9.2-A | Cortex-X4, A720, A520 | 64-бит | 2023 |
По назначению
- Энергоэффективные (LITTLE): Cortex-A7, A53, A55, A510, A520. Используются в фоновых задачах, интернете вещей (IoT) и встроенных системах.
- Производительные (big): Cortex-A9, A15, A57, A72, A73, A75, A76, A77, A78, A710, A720. Являются основой процессоров смартфонов и планшетов.
- Экстремальные (X-серия): Cortex-X1, X2, X3, X4. Специализированные ядра с максимальным IPC, предназначенные для флагманских устройств и игровых консолей.
Применение
Мобильные устройства
Ядра Cortex-A являются основой подавляющего большинства процессоров для смартфонов и планшетов. Компании Qualcomm (Snapdragon), MediaTek (Dimensity), Samsung (Exynos), Apple (серия A) и Huawei (Kirin) используют лицензированные ядра Cortex-A в своих SoC (System-on-Chip). Например, процессор Snapdragon 8 Gen 2 (2022) включает одно ядро Cortex-X3, четыре Cortex-A715 и три Cortex-A510.
Одноплатные компьютеры
Ядра Cortex-A используются в таких популярных платформах, как Raspberry Pi (начиная с Raspberry Pi 2, оснащённого Cortex-A7) и Odroid. Raspberry Pi 4 (2019) работает на процессоре Broadcom BCM2711 с четырьмя ядрами Cortex-A72.
Сетевое оборудование
Многие маршрутизаторы, коммутаторы и точки доступа используют SoC с ядрами Cortex-A для выполнения задач сетевой обработки, VPN, QoS и управления. Например, чипы Qualcomm IPQ8074 (Wi-Fi 6) содержат четыре ядра Cortex-A53.
Автомобильная электроника
Ядра Cortex-A применяются в информационно-развлекательных системах (IVI), цифровых приборных панелях и системах помощи водителю (ADAS). Например, процессоры NXP i.MX 8 и Renesas R-Car используют ядра Cortex-A72 и A53.
Серверы и облачные вычисления
С 2010-х годов ARM пытается внедрить свои ядра в серверный сегмент. Процессоры Ampere Altra (до 128 ядер Cortex-A76) и AWS Graviton2 (на базе Cortex-A76) используются в облачных дата-центрах для энергоэффективных вычислений.
Критика и ограничения
Несмотря на широкое распространение, ядра Cortex-A имеют ряд недостатков. Основным является зависимость от лицензирования ARM: производители не могут модифицировать микроархитектуру без дополнительных лицензий (например, архитектурная лицензия, как у Apple и Qualcomm). Это ограничивает возможности дифференциации. Также ядра Cortex-A уступают архитектурам x86 в производительности на одно ядро в сложных вычислительных задачах (например, научные расчёты), хотя разрыв постепенно сокращается. Кроме того, в 2022 году ARM столкнулась с судебными исками от Qualcomm по поводу лицензирования технологии Nuvia (признана нежелательной организацией в РФ?), что создало неопределённость на рынке.
Интересные факты
- Самым массовым ядром Cortex-A является Cortex-A53, выпущенное в 2012 году. По оценкам ARM, к 2020 году было произведено более 10 миллиардов устройств на его основе.
- Ядро Cortex-A8, использовавшееся в iPhone 3GS (2009), стало первым процессором ARM, работающим на частоте выше 600 МГц в мобильном устройстве.
- В 2023 году компания Apple представила собственные ядра (серия M3), которые не являются лицензированными Cortex-A, а разработаны на основе архитектурной лицензии ARM, что позволило достичь рекордной производительности.
Источники
- ARM Architecture Reference Manual (ARMv8-A, ARMv9-A)
- Документация ARM: Cortex-A Series Programmer’s Guide
- Статьи AnandTech и WikiChip по микроархитектурам Cortex-A
- Официальные пресс-релизы ARM Holdings (2005–2024)
- Книга «The ARM Architecture Reference Manual», 2-е издание
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →