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

Advanced RISC Machine

ARM (ранее Advanced RISC Machine, также Acorn RISC Machine) — это семейство микропроцессорных архитектур, основанных на принципах RISC (Reduced Instruction Set Computer), разрабатываемое британской компанией Arm Limited (до 2016 года — ARM Holdings). Архитектура ARM является одной из самых распространённых в мире, доминируя на рынке мобильных устройств (смартфоны, планшеты) и микроконтроллеров, а также активно внедряется в серверный и персональный сегменты.

История

Основание и первые разработки

История ARM началась в 1983 году, когда британская компания Acorn Computers Ltd. приступила к разработке собственного процессора для своих домашних компьютеров. Инженеры Acorn, вдохновлённые проектом RISC I из Калифорнийского университета в Беркли, решили создать 32-битный процессор с сокращённым набором команд. Первый процессор, получивший название ARM1 (Acorn RISC Machine), был изготовлен в 1985 году и работал на частоте 6 МГц. Он использовался в качестве сопроцессора в компьютере Acorn BBC Micro и в качестве основного процессора в Acorn Archimedes.

Создание ARM Ltd.

В 1990 году Acorn Computers выделила подразделение разработки процессоров в совместное предприятие Advanced RISC Machines Ltd. (ARM Ltd.) с компаниями Apple Computer и VLSI Technology. Целью предприятия было продвижение архитектуры на рынок встраиваемых систем и мобильных устройств. Apple планировала использовать ARM в своём карманном компьютере Newton. Первым коммерчески успешным процессором стал ARM6, выпущенный в 1991 году.

Лицензионная модель и рост популярности

Ключевым фактором успеха ARM стала её бизнес-модель: компания не производит процессоры самостоятельно, а лицензирует свои архитектуры и дизайны другим компаниям (Qualcomm, Apple, Samsung, MediaTek и др.), которые, в свою очередь, адаптируют их под свои нужды. Это позволило ARM занять доминирующее положение на рынке мобильных устройств, где низкое энергопотребление было критически важным. К концу 1990-х годов ARM стала стандартом для мобильных телефонов.

Эра 32-битных ядер

В 2000-е годы ARM выпустила серию популярных 32-битных ядер: ARM7, ARM9, ARM11. Они широко использовались в телефонах, MP3-плеерах, игровых консолях (Nintendo Game Boy Advance, Nintendo DS) и других встраиваемых системах. В 2005 году была представлена архитектура ARMv7, которая легла в основу ядер Cortex-A (приложения), Cortex-R (реального времени) и Cortex-M (микроконтроллеры). Ядро Cortex-A8, например, использовалось в первом iPhone (2007).

Переход на 64-битную архитектуру

В 2011 году ARM анонсировала 64-битную архитектуру ARMv8-A. Первым процессором на этой архитектуре стал Apple A7 (2013), установленный в iPhone 5S. Переход на 64 бита позволил ARM конкурировать с архитектурой x86 в производительности и объёме адресуемой памяти. В 2016 году компания была переименована в Arm Limited.

Современность: ARM в серверах и ПК

С 2018 года Arm начала активно продвигать свои процессоры в серверный сегмент (проект Neoverse). В 2020 году Apple анонсировала переход своих компьютеров Mac с процессоров Intel x86 на собственные процессоры M1 на архитектуре ARM, что стало важной вехой для индустрии. В 2023 году Arm выпустила архитектуру ARMv9, которая стала основой для новых поколений мобильных и серверных процессоров.

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

Принципы RISC

Архитектура ARM базируется на классических принципах RISC:

  • Фиксированная длина инструкций (изначально 32 бита, в версии Thumb — 16 бит).
  • Большое количество регистров общего назначения (обычно 16 или 32).
  • Операции с памятью только через инструкции загрузки (load) и сохранения (store). Арифметические и логические операции выполняются только над регистрами.
  • Конвейерная обработка — большинство инструкций выполняются за один такт.

Гибридные режимы (Thumb и Thumb-2)

Для уменьшения размера кода (критично для микроконтроллеров) ARM разработала режим Thumb, в котором инструкции имеют длину 16 бит, что позволяет сократить объём программы на 30-40% по сравнению с 32-битным режимом, хотя и с некоторой потерей производительности. В архитектуре ARMv7 был введён режим Thumb-2, который использует смесь 16- и 32-битных инструкций, обеспечивая почти полную производительность 32-битного режима при меньшем размере кода.

Условное выполнение инструкций

Одной из уникальных особенностей ARM является возможность условного выполнения большинства инструкций. Каждая инструкция содержит 4-битное поле условия, которое определяет, будет ли она выполнена в зависимости от состояния флагов (например, равенства, больше/меньше). Это позволяет избежать ветвлений (условных переходов), что повышает производительность конвейера.

Big.LITTLE

Технология big.LITTLE, представленная в 2011 году, объединяет на одном кристалле производительные ядра (big) и энергоэффективные ядра (LITTLE). Операционная система динамически переключает задачи между ними в зависимости от нагрузки, что позволяет значительно экономить энергию. Например, в процессоре Snapdragon 8 Gen 2 используются ядра Cortex-X3 (big) и Cortex-A510 (LITTLE).

Классификация семейств ARM

Архитектура ARM делится на несколько профилей, каждый из которых оптимизирован для своего класса устройств:

Cortex-A (Application)

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

Cortex-R (Real-time)

Процессоры для систем реального времени, где критична предсказуемость времени выполнения и низкая задержка. Используются в автомобильных системах (ABS, Airbag), жёстких дисках, сетевом оборудовании. Примеры: Cortex-R52, Cortex-R82.

Cortex-M (Microcontroller)

Микроконтроллерные ядра с минимальным энергопотреблением и низкой стоимостью. Используются в датчиках, бытовой технике, игрушках, носимой электронике, промышленных контроллерах. Примеры: Cortex-M0, Cortex-M3, Cortex-M4, Cortex-M33.

Neoverse

Специализированное семейство для серверов, центров обработки данных и сетевой инфраструктуры. Ориентировано на масштабируемость, высокую производительность и энергоэффективность. Примеры: Neoverse N1, Neoverse V1.

Лицензирование и экосистема

Модели лицензий

Arm Limited предлагает два основных типа лицензий:

  1. Лицензия на ядро (Core license) — компания-лицензиат получает готовый дизайн (RTL-код) ядра ARM и может интегрировать его в свой чип, добавляя собственные периферийные блоки. Это наиболее распространённый вариант.
  2. Архитектурная лицензия (Architecture license) — компания получает право на самостоятельную разработку собственного ядра, совместимого с архитектурой ARM. Такую лицензию имеют Apple, Qualcomm, Samsung, Broadcom. Это позволяет создавать высокооптимизированные ядра (например, Apple Firestorm/Icestorm).

Влияние на индустрию

Благодаря лицензионной модели, ARM создала огромную экосистему, включающую сотни компаний-производителей чипов, разработчиков программного обеспечения (включая операционные системы, компиляторы, отладчики) и инструментов проектирования. Это сделало ARM де-факто стандартом для встраиваемых и мобильных систем.

Применение

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

ARM является доминирующей архитектурой на рынке смартфонов и планшетов. Почти все современные мобильные процессоры (Qualcomm Snapdragon, MediaTek Dimensity, Samsung Exynos, Apple A-серии) основаны на ARM. Низкое энергопотребление и высокая производительность на ватт делают её идеальной для устройств с батарейным питанием.

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

Ядра Cortex-M широко используются в микроконтроллерах для устройств Интернета вещей (IoT), бытовой техники, промышленной автоматизации. Например, популярное семейство STM32 от STMicroelectronics построено на ядрах Cortex-M.

Персональные компьютеры и ноутбуки

Переход Apple на процессоры M1, M2 и M3 показал, что ARM способна конкурировать с x86 в производительности настольных систем. Microsoft также выпускает версии Windows для ARM (Windows on Arm), а Qualcomm разрабатывает процессоры Snapdragon X Elite для ноутбуков.

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

Компании Amazon (Graviton), Ampere Computing (Altra) и другие выпускают серверные процессоры на архитектуре ARM. Они предлагают высокую энергоэффективность в центрах обработки данных, что снижает эксплуатационные расходы.

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

ARM используется в автомобильной электронике (инфотейнмент, ADAS), сетевом оборудовании (роутеры, коммутаторы), медицинских приборах, промышленных контроллерах.

Конкуренция и перспективы

Основным конкурентом ARM в сегменте высокопроизводительных вычислений является архитектура x86 (Intel, AMD). В сегменте микроконтроллеров конкуренцию составляют архитектуры RISC-V (открытая архитектура), AVR, MIPS и Xtensa.

В 2020-2023 годах Arm Limited предприняла попытку изменить условия лицензирования, что вызвало судебные иски со стороны Qualcomm и привело к напряжённости в экосистеме. Перспективы ARM связаны с дальнейшим ростом рынка IoT, внедрением в автомобильную промышленность и серверный сегмент, а также с развитием архитектуры ARMv9, которая включает улучшенную безопасность (Memory Tagging Extension) и производительность (Scalable Vector Extension).

Источники

  • ARM Architecture Reference Manual (ARMv8-A, ARMv9-A).
  • Steve Furber, "ARM System-on-Chip Architecture", 2nd edition, Addison-Wesley, 2000.
  • Andrew Sloss, Dominic Symes, Chris Wright, "ARM System Developer's Guide", Morgan Kaufmann, 2004.
  • Официальная документация Arm Limited (developer.arm.com).
  • История компании Acorn Computers (статьи в журналах Byte, Micro User).
  • Материалы конференций Hot Chips и ISSCC.

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

На главную BFOmetr →