- Архитектура ARM — это энергоэффективная RISC-архитектура, используемая во всем, от микроконтроллеров до полноценных компьютеров.
- Его успех основан на простом наборе инструкций, лицензировании сторонними компаниями и энергоэффективности, значительно превосходящей x86.
- Технология ARM используется в мобильных телефонах, планшетах, Chromebook, компьютерах Mac с процессорами Apple Silicon, а также в различных операционных системах, таких как Android, iOS, Windows и Linux.
- RISC-V становится открытой альтернативой ARM, но по уровню поддержки со стороны производителей и развитию программной экосистемы она всё ещё значительно отстаёт.
Архитектура ARM прошла путь от питания простых гаджетов до работы на ноутбуках, настольных компьютерах и серверах . Если вы когда-либо пользовались телефоном на Android, iPhone, Raspberry Pi или современным Mac, вы уже работали с процессорами, основанными на этой архитектуре, даже если не знали об этом.
В следующих строках мы подробно рассмотрим, что представляет собой архитектура ARM в компьютерах, как она работает, её происхождение и почему она меняет ситуацию по сравнению с архитектурой x86 от Intel и AMD . Мы также обсудим её связь с RISC-V, её роль в Windows, macOS и Linux, а также причины, по которым крупные производители выбрали именно этот тип процессоров.
Что такое архитектура ARM и на чём она основана?
Когда мы говорим об ARM, мы имеем в виду архитектуру RISC (Reduced Instruction Set Computing) , разработанную для маломощных, но всё более мощных процессоров, используемых от крошечных микроконтроллеров до персональных компьютеров и центров обработки данных.
В отличие от архитектур CISC, таких как x86/x86-64 (см. различия между процессорами Intel и AMD ), ARM использует более простой, компактный и высокоэффективный набор инструкций . Это позволяет создавать процессоры с меньшим количеством транзисторов, меньшей внутренней сложностью и значительно меньшим энергопотреблением — ключевым фактором для сверхлегких мобильных устройств и ноутбуков.
Важный момент заключается в том, что ARM Holdings (теперь Arm Ltd.) не производит процессоры . Компания разрабатывает архитектуру и ядра, а затем лицензирует эту технологию третьим сторонам (Apple, Qualcomm, Samsung и др.), которые интегрируют ее в свои собственные SoC, добавляя собственные графические процессоры, контроллеры памяти, модемы и другие компоненты.
На практике это означает, что существуют сотни вариантов процессоров ARM с совершенно разными характеристиками и производительностью , хотя все они используют один и тот же набор инструкций, что позволяет разрабатывать совместимые операционные системы и приложения.
Краткая история ARM: от Acorn до доминирования на рынке.

История ARM начинается в 1983 году, когда компания Acorn Computers решила разработать новый процессор, опираясь на свой опыт работы с MOS 6502 , чипом, который в то время использовался во многих их персональных компьютерах. Проект возглавляли Софи Уилсон и Стив Фурбер.
Их целью было создание передового, но внутренне очень простого процессора без микрокода и с четко выраженной философией RISC . В 1985 году они завершили разработку первого прототипа, ARM1, а в 1986 году появился ARM2, первая коммерческая версия, использованная в таких компьютерах, как Acorn Archimedes.
ARM2 имел 32-битную шину данных, 26-битное адресное пространство и 16 32-битных регистров общего назначения . Один из этих регистров использовался в качестве счетчика команд (PC), а некоторые биты — для флагов состояния. Технически, он был чрезвычайно прост: около 30 000 транзисторов и отсутствие кэш-памяти.
Эта простота привела к невероятно низкому энергопотреблению при времени работы и производительности, превосходящей показатели Intel 286. Его преемник, ARM3, добавил небольшой унифицированный кэш размером 4 КБ, что значительно улучшило повторяющиеся обращения к памяти.
В конце 80-х годов Apple начала сотрудничество с Acorn над новыми версиями ядра ARM . Чтобы избежать проблем со стороны других производителей, в 1990 году была создана независимая компания Advanced RISC Machines (ARM), которой было поручено проектирование и лицензирование будущих поколений процессоров.
На этом этапе появилась архитектура ARM6, представленная в 1991 году и использованная компанией Apple в Newton (ARM 610) и компанией Acorn в RiscPC. Её ядро оставалось удивительно простым: всего 35 000 транзисторов , что позволяло интегрировать её с различными периферийными устройствами и создавать собственные системы.
Масштабный скачок ARM на потребительский рынок состоялся с появлением ARM7TDMI, который используется в миллионах мобильных телефонов, портативных игровых консолей и встроенных систем . Одновременно компания Digital (DEC) получила лицензию на эту разработку и создала StrongARM, способный работать на частоте 233 МГц при потреблении около 1 Вт, что стало важным шагом в повышении эффективности.
Со временем эта технология перешла в руки Intel, которая интегрировала её в свои решения семейства Intel i960 и XScale, в то время как другие гиганты, такие как Freescale, IBM, Texas Instruments, Nintendo, Philips, Samsung, STMicroelectronics или Atmel, также лицензировали архитектуру ARM.
Сегодня примерно три четверти 32-битных процессоров в мире используют ядра ARM . Это означает их повсеместное распространение: жесткие диски, маршрутизаторы, игрушки, автомобили, телевизоры, мобильные телефоны, планшеты, ноутбуки и, все чаще, персональные компьютеры и серверы.
Основные семейства процессоров ARM
За прошедшие десятилетия компания ARM выпустила различные семейства и версии архитектуры (ARMv1, v2, v3 и т. д.), каждая из которых отличалась улучшенной производительностью, объемом памяти, кэш-памятью, поддержкой вычислений с плавающей запятой и дополнительными функциями.
Первые поколения, такие как ARM1, ARM2 и ARM3 (ARMv1 и ARMv2) , были ориентированы на создание очень простых 32-битных процессоров для компьютеров, подобных BBC Micro с сопроцессором ARM, Acorn Archimedes или RiscPC. Эти чипы не имели полноценного MMU (в некоторых случаях использовался внешний MEMC) и практически не имели кэш-памяти.
С появлением семейства ARM6 (ARMv3) произошел переход к полноценной 32-битной адресации, и были внедрены такие ядра, как ARM600 или ARM610, некоторые из которых имеют встроенный кэш и специальные шины для сопроцессоров с плавающей запятой.
Позже появились ARM7 и ARM7TDMI (ARMv3 и ARMv4T) с поддержкой 16-битного набора инструкций Thumb, 3-ступенчатого конвейера и вариантов с кэшем, MMU или MPU. Эти ядра лежат в основе таких популярных продуктов, как Game Boy Advance, Nintendo DS, Apple iPod, а также встроенных систем от NXP, Atmel и Psion.
Параллельно появляется семейство StrongARM (ARMv4) , результат сотрудничества с DEC, которое сосредоточено на достижении высокой производительности (в MIPS на ватт) для КПК и небольших компьютеров (Apple Newton 2×00, iPAQ, Zaurus и др.), с относительно большими для того времени кэшами L1 и полноценным MMU.
Позже серии ARM9, ARM9E и ARM10E (ARMv4T и ARMv5) представили более глубокие конвейеры обработки данных, улучшения инструкций DSP, расширенную поддержку Thumb, возможности Jazelle для выполнения байт-кода Java в аппаратном обеспечении и более крупные, настраиваемые кэши. Эти ядра используются в мобильных телефонах, цифровых камерах, сетевых устройствах, портативных игровых консолях и бесчисленном множестве других систем на кристалле (SoC).
Важным направлением является XScale (ARMv5TE) , приобретенное компанией Intel, разработанное для прикладных процессоров и сетевых процессоров с высокими частотами, большими кэшами L1/L2 и, в некоторых случаях, ускорителями RAID или очень специфическими функциями для ввода-вывода.
В архитектуре ARM11 (ARMv6) был представлен конвейер обработки данных до 9 этапов, поддержка SIMD, Thumb-2, Jazelle DBX, улучшения DSP и технологии безопасности, такие как TrustZone. Эти ядра использовались в таких известных устройствах, как первый iPhone, iPod touch первых поколений, некоторые телефоны Nokia серии N, игровые консоли и первый Raspberry Pi.
Великая современная революция пришла с появлением семейства Cortex , особенно в ARMv7-A и более поздних приложениях. Ядра, такие как Cortex-A5, Cortex-A8, Cortex-A9 и их многоядерные варианты (MPCore), стали де-факто стандартом в смартфонах, планшетах, смарт-телевизорах и легких ноутбуках.
Эти ядра включают в себя суперскалярное исполнение, глубокие конвейеры, NEON (SIMD), VFP для операций с плавающей запятой, усовершенствованный Thumb-2 и TrustZone . Они используются в таких SoC, как процессоры серии Texas Instruments OMAP, Samsung Exynos, Nvidia Tegra, Qualcomm Snapdragon, а также Apple A4/A8 и их преемники.
В области встроенных систем и микроконтроллеров выделяются семейства Cortex-R (профиль реального времени) и Cortex-M (профиль микроконтроллера) , с вариантами, такими как Cortex-R4, Cortex-M0, M1, M3 и M4, разработанными для критически важных систем, промышленного управления, автомобильной промышленности и бытовой электроники, где предсказуемость времени отклика и эффективность имеют первостепенное значение.
Набор инструкций ARM: RISC, условные операторы и режим Thumb.
Набор инструкций ARM был разработан с нуля как чистый RISC: простые инструкции фиксированного размера, которые во многих случаях могут быть выполнены за один такт . Ключевая задача компилятора — генерировать эффективные последовательности с небольшим количеством атомарных инструкций.
Особенностью является то, что в классических 32-битных режимах каждая инструкция включает в себя код условия в своих старших 4 битах . Это позволяет сделать практически любую инструкцию условной (выполняющейся только при соблюдении определенных флагов), уменьшая необходимость в переходах и предотвращая «пузырьки» в конвейере в небольших блоках кода с частыми условиями.
Кроме того, архитектура ARM позволяет комбинировать арифметические/логические операции со сдвигами и поворотами регистров в одной инструкции . Например, то, что в языке C эквивалентно «a += (j << 2);», может быть выражено в виде одной инструкции ARM, которая добавляет сдвинутое значение к регистру, экономя инструкции и обращения к памяти.
Еще одно преимущество заключается в том, что набор адресов поддерживает режимы предварительного и последующего инкремента, относительную адресацию и другие гибкие методы адресации , которые не распространены в других архитектурах, также считающихся RISC. Все это способствует сокращению общего количества инструкций и повышению производительности за цикл.
Классическая архитектура определяет 16 видимых программисту 32-битных регистров (R0-R15) . В принципе, они симметричны, хотя R15 используется в качестве счетчика команд (PC), R14 обычно действует как регистр связи (адрес возврата подпрограмм или исключений), а R13 используется в качестве указателя стека.
ARM имеет два основных режима выполнения: режим ARM (32-битные инструкции) и режим Thumb (16-битные инструкции) . Режим ARM обеспечивает большую мощность (более полный набор инструкций), но генерирует больший объем кода; режим Thumb уменьшает размер каждой инструкции вдвое, повышая плотность кода и, во многих случаях, производительность в системах с более узкими шинами памяти.
Thumb — это, по сути, подмножество наиболее часто используемых инструкций в архитектуре ARM . Первым процессором, в котором она была реализована, стал ARM7TDMI, и с тех пор практически все последующие семейства (ARM9, XScale, Cortex и т. д.) включают поддержку Thumb или его эволюции, Thumb-2.
Кроме того, существует Jazelle DBX — технология, позволяющая запускать байт-код Java непосредственно на аппаратном обеспечении в определенных ядрах (тех, в названии которых присутствует буква «J», например, ARM926EJ-S). Эта функциональность призвана ускорить работу виртуальных машин Java на устройствах с ограниченными ресурсами.
Основные преимущества архитектуры ARM
Популярность ARM не случайна: она обусловлена сочетанием энергоэффективности, гибкости проектирования, стоимости и производительности, достаточной для большинства задач.
С одной стороны, будучи RISC-архитектурой с относительно небольшим набором инструкций и без сложного микрокода, ядра ARM могут быть изготовлены с гораздо меньшим количеством транзисторов, чем аналогичные ядра x86 . Меньшее количество транзисторов означает меньшее энергопотребление, меньшее тепловыделение и более компактные и дешевые микросхемы.
Это позволяет процессорам ARM обеспечивать очень достойную производительность при минимальном энергопотреблении , что крайне важно для мобильных телефонов, планшетов, сверхлегких ноутбуков, устройств IoT и встроенных систем, работающих от батарей или имеющих ограничения по теплоотводу.
Модель лицензирования также играет ей на руку: ARM продает интеллектуальную собственность на свои ядра всевозможным производителям , которые могут модифицировать их, объединять с другими блоками (GPU, модемами, ускорителями ИИ) и создавать SoC, полностью адаптированные к их продукции.
Это создает огромную экосистему производителей, постоянно улучшающих производительность и эффективность , а также предлагающих очень широкий ассортимент продукции практически для любой ниши: от сверхдешевых микроконтроллеров до 64-битных процессоров для серверов.
В целом, ARM предлагает низкое энергопотребление, доступную стоимость, хорошую плотность кода, зрелые инструменты и более чем приемлемую производительность, которая продолжает улучшаться . Она не всегда достигает уровня производительности x86 в высокопроизводительных игровых настольных компьютерах, но в большинстве сценариев это и не требуется.
32-битные и 64-битные ARM-процессоры: последние достижения в области архитектуры.
Первые архитектуры ARM были 32-битными, и на протяжении десятилетий они доминировали на рынке встраиваемых и мобильных устройств . Однако, начиная с 2011 года, Arm представила архитектуры с нативной поддержкой 64-битных вычислений (ARMv8 и более поздние версии), открыв двери для гораздо более ресурсоемких задач.
Переход к 64-битной архитектуре в ARM не произошел в ущерб эффективности RISC-архитектуры; напротив, это стало возможным благодаря более совершенной конструкции современного набора инструкций . Это позволяет использовать гораздо большие адреса памяти и выполнять арифметические операции с расширенной точностью, что уже является необходимым в высокопроизводительных мобильных устройствах и, конечно же, в компьютерах и серверах.
Сниженная сложность по сравнению с x86 остается преимуществом: даже в 64-битных версиях процессоры ARM используют меньше транзисторов для выполнения той же задачи , что приводит к снижению производственных затрат и энергопотребления.
В сфере персональных компьютеров это нашло отражение в таких процессорах, как Apple Silicon (M1, M2, M3…) и новом Qualcomm Snapdragon X Elite , которые сочетают в себе высокопроизводительные ядра с высокоэффективными ядрами и интегрированной графикой, способной конкурировать со многими ноутбуками на базе x86 в выполнении общих задач.
Использование архитектуры ARM в компьютерах, ноутбуках и других устройствах.
Традиционно процессоры ARM использовались в смартфонах, планшетах, смарт-телевизорах, маршрутизаторах, портативных игровых консолях и гаджетах, где низкое энергопотребление было ключевым фактором, а мощность, необходимая для полноценного настольного компьютера, не требовалась.
Но ситуация быстро меняется. С одной стороны, такие устройства, как Raspberry Pi, показали, что система на базе ARM может прекрасно функционировать как настольный микрокомпьютер или мини-ПК для офисных задач, имея подходящую операционную систему (обычно Linux) для работы в офисе, просмотра веб-страниц и несложного программирования.
Мы также видели более мощные продукты на базе ARM, такие как NVIDIA Tegra X1 , используемая Nvidia в Shield TV и, прежде всего, Nintendo в Switch, где баланс между графической производительностью и энергопотреблением имеет решающее значение.
В сфере передовых планшетов компания Apple со своими чипами серии A (а позже и серии M) показала, что хорошо спроектированный ARM SoC может обеспечить впечатляющую производительность в творческих приложениях, офисной работе и при интенсивной многозадачности, не требуя при этом мощных вентиляторов.
Microsoft, со своей стороны, интегрирует процессоры ARM в такие устройства, как Surface Pro X и другие варианты семейства Surface , делая ставку на легкие, бесшумные устройства со встроенным модулем LTE, которые могут конкурировать с традиционными ноутбуками для мобильной работы.
Тем временем Google активно продвигает ARM в своей экосистеме Chromebook . Chrome OS, основанная на Chromium и Android, отлично подходит для этой архитектуры, предлагая доступные, легкие ноутбуки с превосходным временем автономной работы. Многие производители Chromebook выбирают ARM-процессоры именно для того, чтобы максимально увеличить время автономной работы и снизить затраты.
ARM и операционные системы: Windows, macOS, Linux и другие.
Хотя многие ассоциируют ARM только с мобильными устройствами, большинство основных операционных систем уже имеют развитую поддержку этой архитектуры , как во встраиваемых системах, так и в настольных и серверных средах.
В мобильной сфере Android и iOS годами работали почти исключительно на процессорах ARM , пользуясь их преимуществами в плане энергоэффективности. Компания Apple, перейдя на Apple Silicon, распространила эту философию и на свои настольные и портативные компьютеры, отказавшись от процессоров Intel x86.
На компьютерах Mac с процессорами ARM компания Apple предлагает Rosetta 2 — систему трансляции, которая позволяет приложениям, скомпилированным для Intel, работать с удивительно высокой производительностью. Это значительно упростило переход, и сегодня почти все актуальные приложения имеют собственную версию для ARM.
В рамках экосистемы Microsoft компания Windows исследовала различные подходы к ARM . Windows CE и Windows Embedded Compact годами поддерживали ARMv5, v6 и v7 во встроенных системах. Позже появилась Windows 8 RT для планшетов на базе ARM, таких как первый Surface, но с довольно скромными результатами из-за ограничений программного обеспечения.
Windows 10 и Windows 11 идут еще дальше, предлагая версии для ARM с эмуляцией приложений x86 . В Windows 11 эмуляция и производительность значительно улучшились, хотя проблемы совместимости с некоторыми классическими программами для настольных компьютеров все еще существуют.
Между тем, системы Linux и UNIX-подобные системы с большим энтузиазмом восприняли ARM . Такие дистрибутивы, как Debian, Ubuntu, Arch Linux, Kali, Manjaro, Gentoo и Oracle Linux, предлагают официальные образы для различных ARM-процессоров, включая Raspberry Pi и другие платы.
Что касается BSD, то FreeBSD, NetBSD и OpenBSD поддерживают множество платформ ARM , а такие исторические системы, как RISC iX, работали на машинах Acorn на базе ARM2/ARM3. Кроме того, Solaris и другие варианты UNIX также имели реализации для этой архитектуры.
В области операционных систем реального времени и встроенных систем ARM присутствует в Android (в случае встроенных устройств), Windows CE/Embedded, .NET Micro Framework, ChibiOS/RT, FreeRTOS, eCos, Integrity, Nucleus, QNX, RTEMS, ThreadX, VxWorks, uTasker, MQX и многих других . Список огромен, поскольку практически каждая современная RTOS поддерживает как минимум один профиль ARM.
Intel, ARM и источники вдохновения для архитектуры big.LITTLE
Классические процессоры для настольных компьютеров и ноутбуков, особенно от Intel и AMD, на протяжении многих лет использовали архитектуры CISC x86/x86-64 с более крупными и сложными ядрами , работающими от мощных блоков питания и специализированных систем охлаждения.
В отличие от этого, в разработках ARM для мобильных телефонов и встроенных SoC уже давно предпочтение отдается гетерогенным архитектурам типа big.LITTLE , объединяющим мощные и энергоэффективные ядра в одном чипе для адаптации энергопотребления в зависимости от рабочей нагрузки.
Эта идея непосредственно вдохновила Intel на создание нового поколения гибридных процессоров Core, которые объединяют высокопроизводительные ядра (P-ядра) с высокоэффективными ядрами (E-ядра) в одном корпусе. Хотя они не используют архитектуру ARM, они воспроизводят подход, предложенный ARM, для повышения общей эффективности и производительности.
Что касается прямой конкуренции, то до недавнего времени ARM использовался лишь в очень специфических проектах для настольных компьютеров или в экосистеме Apple . Однако с Snapdragon X Elite и другими подобными проектами Qualcomm и другие производители стремятся бросить вызов x86 в сегменте массовых ноутбуков.
Самым большим препятствием для ARM в массовом сегменте ПК остается совместимость программного обеспечения, а в случае игр — зависимость от графических процессоров и драйверов, оптимизированных для x86 . Пока AMD и Intel сохраняют свое доминирование на рынке дискретных видеокарт и высокопроизводительных процессоров, игровой мир будет по-прежнему тесно связан с архитектурой x86.
ARM против RISC-V: две разные RISC-архитектуры.
В последние годы значительно возросла популярность RISC-V, еще одной RISC-архитектуры, напрямую конкурирующей с ARM по многим параметрам . Как и ARM, RISC-V ориентирована на устройства с низким энергопотреблением, но отличается одним ключевым аспектом: это открытая и не требующая лицензирования архитектура набора команд (ISA).
В то время как использование x86-64 или ARM предполагает выплату роялти компаниям Intel, AMD или Arm Ltd. , любая компания или частное лицо может проектировать, производить и продавать процессоры RISC-V без уплаты авторских прав на набор инструкций. Это делает RISC-V особенно привлекательным для стран и производителей, стремящихся к технологической независимости и снижению затрат.
В настоящее время, с точки зрения чисто технических возможностей, как ARM, так и RISC-V имеют 64-битные расширения и поддержку полноценных операционных систем . ARM уже хорошо зарекомендовал себя в Android, iOS, macOS и Linux, в то время как RISC-V начинает получать официальную поддержку в Android (Google позиционирует его как архитектуру высшего уровня) и в дистрибутивах Linux, таких как Ubuntu и Fedora.
С точки зрения поддержки со стороны производителей, ARM по-прежнему обладает подавляющим преимуществом . Практически все смартфоны, планшеты и умные устройства, доступные сегодня, используют ARM, в то время как большинство современных чипов RISC-V по-прежнему ориентированы на разработку, микроконтроллеры и очень специфические продукты.
Однако RISC-V явно выигрывает с точки зрения цены и свободы проектирования . Отсутствие лицензионных платежей упрощает создание сверхдешевых или высокоспециализированных продуктов, что объясняет интерес таких стран, как Китай и Россия, к внедрению этой архитектуры в свои проекты.
Если бы нам пришлось выбирать «победителя» прямо сейчас, ARM по-прежнему превосходила бы конкурентов по экосистеме, доступному программному обеспечению и уровню зрелости . Однако RISC-V является очень перспективным конкурентом в будущем, особенно в областях недорогих устройств, Интернета вещей, маршрутизаторов, ПК начального уровня и бюджетных смартфонов.
В целом, архитектура ARM зарекомендовала себя как один из краеугольных камней современных вычислений : она используется во всем, от мобильных телефонов, которыми мы пользуемся каждый день, до сверхлегких ноутбуков, Chromebook, Mac с процессорами Apple Silicon и огромного количества встроенных устройств. Ее RISC-философия, сочетание энергоэффективности и более чем достаточной производительности, модель лицензирования и широкая поддержка операционных систем объясняют, почему она доминирует во многих сегментах, даже несмотря на появление новых предложений, таких как RISC-V, в качестве открытой альтернативы в мире процессоров.
Индекс
- 1 Что такое архитектура ARM и на чём она основана?
- 2 Краткая история ARM: от Acorn до доминирования на рынке.
- 3 Основные семейства процессоров ARM
- 4 Набор инструкций ARM: RISC, условные операторы и режим Thumb.
- 5 Основные преимущества архитектуры ARM
- 6 32-битные и 64-битные ARM-процессоры: последние достижения в области архитектуры.
- 7 Использование архитектуры ARM в компьютерах, ноутбуках и других устройствах.
- 8 ARM и операционные системы: Windows, macOS, Linux и другие.
- 9 Intel, ARM и источники вдохновения для архитектуры big.LITTLE
- 10 ARM против RISC-V: две разные RISC-архитектуры.