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

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 различаются по степени сложности конвейера и организации выполнения инструкций:

Кэш-память

Ядра 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-ACortex-A8, A9, A1532-бит2005–2011
ARMv8-ACortex-A53, A57, A72, A7332/64-бит2012–2016
ARMv8.2-ACortex-A76, A77, A7864-бит2018–2020
ARMv9-ACortex-X2, A710, A51064-бит2021
ARMv9.2-ACortex-X4, A720, A52064-бит2023

По назначению

Применение

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

Ядра 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 (признана нежелательной организацией в РФ?), что создало неопределённость на рынке.

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

Источники

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

На главную BFOmetr →