ARM-архитектура
ARM-архитектура (от англ. Advanced RISC Machine, ранее Acorn RISC Machine) — это семейство микропроцессорных архитектур, основанных на концепции вычислительных систем с сокращённым набором команд (RISC). Разрабатывается и лицензируется британской компанией Arm Ltd. (ранее ARM Holdings), которая сама не производит чипы, а предоставляет лицензии на использование архитектуры и готовых микропроцессорных ядер сторонним производителям. ARM-архитектура является доминирующей на рынке мобильных устройств (смартфоны, планшеты) и широко используется во встраиваемых системах, микроконтроллерах, сетевом оборудовании, а с 2020-х годов — в серверах, персональных компьютерах и суперкомпьютерах.
История
Создание и первые годы (1983–1990)
Разработка первой архитектуры ARM началась в 1983 году в британской компании Acorn Computers Ltd. Инженеры Acorn, работавшие над компьютером Acorn BBC Micro, искали процессор для следующего поколения своих машин. Существовавшие на тот момент процессоры (например, Motorola 68000) не удовлетворяли требованиям по производительности и стоимости. Вдохновившись идеями RISC, реализованными в процессорах Berkeley RISC и Stanford MIPS, команда под руководством Софи Уилсон и Стива Фербера разработала собственный 32-битный процессор. Первый чип, ARM1, был изготовлен компанией VLSI Technology в 1985 году и работал на частоте 6 МГц. Он использовался в качестве вспомогательного процессора в Acorn Archimedes, а затем и в качестве основного CPU.
В 1990 году компания Acorn совместно с Apple Computer и VLSI Technology основала независимую компанию Advanced RISC Machines Ltd. (ARM). Apple планировала использовать процессор ARM в своём карманном компьютере Apple Newton, что и было реализовано с процессором ARM610 (на базе ядра ARM6).
Эра лицензирования и мобильная революция (1990–2010)
Ключевым решением ARM стала бизнес-модель лицензирования. Компания не строила собственные фабрики, а продавала лицензии на архитектуру, готовые микропроцессорные ядра (например, ARM7TDMI, ARM9, ARM11) и технологические библиотеки. Это позволило сотням производителей полупроводников (Texas Instruments, Samsung, Qualcomm, STMicroelectronics, NXP и др.) интегрировать ARM-ядра в свои микросхемы.
Решающим фактором успеха стало использование ARM-процессоров в мобильных телефонах. Архитектура ARM сочетает высокую производительность с низким энергопотреблением, что идеально подходит для устройств с батарейным питанием. В 2007 году с выходом первого iPhone от Apple, использующего процессор Samsung S3C6400 (на базе ARM11), и в 2008 году с появлением платформы Android, ARM стала стандартом де-факто для мобильных устройств. К концу 2000-х годов более 90% всех смартфонов в мире работали на процессорах с ARM-архитектурой.
Переход на 64-бит и экспансия в новые рынки (2011–настоящее время)
В 2011 году ARM анонсировала 64-битную архитектуру ARMv8-A. Первые коммерческие 64-битные процессоры на её основе появились в 2013 году (Apple A7). В 2021 году была представлена архитектура ARMv9, которая добавила поддержку расширений для машинного обучения, безопасности (Memory Tagging Extension) и виртуализации.
С 2010-х годов ARM начала активно проникать в сегмент серверов. Компании Amazon Web Services (AWS) разработали собственные серверные процессоры Graviton на базе ARM-ядер. В 2020 году Apple объявила о переходе своих компьютеров Mac с архитектуры x86 на собственные процессоры Apple Silicon (M1, M2, M3), основанные на ARM. В 2023 году компания NVIDIA (США) безуспешно пыталась приобрести Arm Ltd. за 40 миллиардов долларов, но сделка была заблокирована регуляторами.
Архитектурные особенности
ARM является классической RISC-архитектурой, что отличает её от CISC-архитектуры x86, используемой в большинстве процессоров Intel и AMD.
Основные принципы RISC в ARM
- Фиксированная длина команд: В режиме ARM (32-бит) все команды имеют длину 32 бита, что упрощает декодирование и конвейеризацию. В режиме Thumb (16-бит) длина команд составляет 16 бит для повышения плотности кода.
- Большой регистровый файл: Процессор имеет 16 (в 32-битном режиме) или 31 (в 64-битном режиме AArch64) универсальных регистров общего назначения. Большинство операций выполняется между регистрами, а не с памятью.
- Архитектура load/store: Доступ к памяти осуществляется только специальными командами загрузки (load) и сохранения (store). Арифметические и логические операции работают только с регистрами.
- Условное выполнение команд: Многие команды ARM могут выполняться условно в зависимости от флагов состояния (N, Z, C, V), что позволяет сократить количество инструкций ветвления и повысить производительность.
Режимы работы и наборы команд
- ARM (32-бит): Основной режим, все команды 32-битные. Обеспечивает максимальную производительность.
- Thumb (16-бит): Режим с 16-битными командами, который занимает меньше памяти (на 30-40% меньше), чем код ARM, но имеет несколько меньшую производительность. Используется во встраиваемых системах с ограниченным объёмом памяти.
- Thumb-2 (с ARMv6T2): Расширение, которое смешивает 16- и 32-битные команды, обеспечивая производительность, близкую к ARM, при плотности кода, близкой к Thumb. Является стандартным режимом для большинства современных ARM-процессоров.
- AArch64 (64-бит): Режим архитектуры ARMv8-A и выше. Использует 32-битные команды, но оперирует 64-битными регистрами и адресами. Полностью обратно совместим с 32-битным кодом на уровне ядра.
Система памяти
ARM использует гарвардскую архитектуру (раздельные кэши команд и данных) на уровне L1, но фон-неймановскую на уровне L2 и выше. Поддерживаются различные модели памяти, включая отображённую в память ввод-вывод (MMIO). В современных реализациях (ARMv8.2-A и выше) используется слабая модель упорядочивания памяти, что требует использования барьеров памяти для синхронизации в многопроцессорных системах.
Классификация ядер ARM
ARM Ltd. разрабатывает и лицензирует несколько семейств микропроцессорных ядер, оптимизированных для разных применений.
Семейства по производительности
- Cortex-A (Application): Высокопроизводительные ядра для операционных систем общего назначения (Linux, Windows, Android, iOS). Используются в смартфонах, планшетах, серверах, ПК. Примеры: Cortex-A76, Cortex-X2.
- Cortex-R (Real-time): Ядра с поддержкой работы в реальном времени, высокой надёжностью и низкой задержкой прерываний. Используются в автомобильных системах (ABS, подушки безопасности), промышленных контроллерах, жёстких дисках. Примеры: Cortex-R52, Cortex-R82.
- Cortex-M (Microcontroller): Ультранизкопотребляющие ядра для микроконтроллеров. Оптимизированы для простых встраиваемых задач, работающих без операционной системы или с RTOS. Примеры: Cortex-M0+, Cortex-M4, Cortex-M33.
Архитектурные ревизии
- ARMv6: Использовалась в процессорах ARM11. Поддержка SIMD-инструкций (ARMv6 SIMD).
- ARMv7: Базовая архитектура для Cortex-A8, A9, A15. Ввела Thumb-2, NEON (SIMD-расширение для мультимедиа), VFPv3 (плавающая точка).
- ARMv8-A: 64-битная архитектура. Ввела режим AArch64, новый набор команд A64. Все современные мобильные и серверные процессоры основаны на этой архитектуре.
- ARMv9: Представлена в 2021 году. Включает расширения для машинного обучения (SVE2 — Scalable Vector Extension 2), безопасности (MTE — Memory Tagging Extension), и улучшенную виртуализацию.
Применение
Мобильные устройства
ARM является безусловным лидером на рынке мобильных процессоров. Почти все смартфоны и планшеты (на базе Android, iOS, HarmonyOS) используют чипы на ARM-архитектуре. Ключевые производители: Apple (серия A и M), Qualcomm (Snapdragon), MediaTek (Dimensity), Samsung (Exynos), HiSilicon (Kirin).
Встраиваемые системы и микроконтроллеры
ARM Cortex-M доминирует в сегменте 32-битных микроконтроллеров. Чипы на его основе используются в бытовой технике, промышленной автоматике, датчиках Интернета вещей (IoT), медицинских приборах, игрушках. Популярные серии: STM32 (STMicroelectronics), Kinetis (NXP), Tiva (Texas Instruments).
Серверы и облачные вычисления
С 2018 года ARM активно внедряется в серверный сегмент. Amazon Web Services использует собственные процессоры Graviton (на базе Neoverse N1) в своих центрах обработки данных. В 2023 году доля ARM-серверов на мировом рынке составила около 10% и продолжает расти. Основные преимущества: высокая энергоэффективность (соотношение производительности на ватт) и низкая стоимость.
Персональные компьютеры
Переход Apple на ARM в 2020 году (Apple Silicon M1) стал переломным моментом. Процессоры M1, M2, M3 демонстрируют высокую производительность при рекордно низком энергопотреблении. Это привело к появлению ARM-ноутбуков от других производителей (например, на платформе Qualcomm Snapdragon X Elite). Операционная система Windows также имеет версию для ARM (Windows on ARM).
Сетевое оборудование
Многие маршрутизаторы, коммутаторы и точки доступа используют ARM-процессоры для управления и обработки пакетов. Примеры: Qualcomm Atheros, Broadcom BCM, MediaTek MT.
Лицензирование и экосистема
ARM Ltd. не производит чипы, а лицензирует интеллектуальную собственность (IP). Существует два основных типа лицензий:
- Лицензия на ядро (Core License): Покупатель получает готовое описание микропроцессорного ядра (например, Cortex-A78) и может интегрировать его в свой чип с минимальными изменениями. Это наиболее распространённый тип.
- Архитектурная лицензия (Architecture License): Покупатель получает право самостоятельно разрабатывать собственные микропроцессорные ядра, совместимые с архитектурой ARM. Такую лицензию имеют Apple, Qualcomm, Amazon, Marvell, NVIDIA. Это позволяет создавать высокооптимизированные ядра (например, Apple Firestorm/Icestorm, Qualcomm Kryo).
Экосистема ARM включает тысячи компаний: разработчиков ПО (компиляторы, операционные системы), производителей полупроводников, OEM-производителей устройств. Основные конкуренты ARM — архитектуры x86 (Intel, AMD) и RISC-V (открытая архитектура).
Критика и ограничения
- Фрагментация экосистемы: Из-за большого числа лицензиатов и модификаций ядер существует значительная фрагментация. Приложения и операционные системы должны быть оптимизированы под конкретные версии ARM-ядер, что создаёт проблемы совместимости.
- Производительность в некоторых задачах: В задачах, требующих высокой однопоточной производительности (например, игры на ПК), ARM-процессоры (кроме Apple Silicon) часто уступают топовым x86-процессорам Intel и AMD.
- Зависимость от одного поставщика: Несмотря на наличие архитектурных лицензий, ARM Ltd. остаётся единственным разработчиком базовой архитектуры. Это создаёт риски для рынка, особенно в контексте попыток поглощения компании (NVIDIA).
- Проблемы с производительностью в серверах: Хотя ARM-серверы эффективны в облачных вычислениях, они пока уступают x86 в высокопроизводительных вычислениях (HPC) и задачах с интенсивным использованием чисел с плавающей запятой.
Интересные факты
- Первый процессор ARM (ARM1) содержал всего 25 000 транзисторов — в тысячи раз меньше, чем современные чипы.
- Аббревиатура ARM изначально расшифровывалась как Acorn RISC Machine, но с 1990 года была изменена на Advanced RISC Machine.
- В 2023 году компания Arm Ltd. провела первичное публичное размещение акций (IPO) на бирже NASDAQ, оценив компанию в более чем 50 миллиардов долларов.
- Архитектура ARM используется не только в процессорах, но и в графических ускорителях (Mali от ARM), нейронных процессорах (NPU) и DSP-ядрах.
Источники
- ARM Architecture Reference Manual (ARMv8-A, ARMv9-A)
- Официальный сайт Arm Ltd. (developer.arm.com)
- Книга: «ARM System Developer's Guide» by Andrew N. Sloss, Dominic Symes, Chris Wright
- Материалы конференций Hot Chips, ISSCC
- Статьи в журналах IEEE Micro, Communications of the ACM
- Документация производителей (Apple, Qualcomm, Amazon, STMicroelectronics)
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →