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

Архитектура ARM и 64-битные вычисления

ARM (Advanced RISC Machine) — семейство микропроцессорных архитектур, основанных на принципах RISC (Reduced Instruction Set Computer — вычисления с сокращённым набором команд), разрабатываемых британской компанией Arm Holdings. Архитектура ARM является одной из самых распространённых в мире: на её основе построены процессоры для подавляющего большинства смартфонов, планшетов, встраиваемых систем, а с середины 2010-х годов — также для серверов и персональных компьютеров. 64-битное расширение архитектуры, известное как AArch64 или ARM64, обеспечивает поддержку 64-битных адресов памяти и регистров, что позволяет эффективно работать с объёмами оперативной памяти свыше 4 ГБ и повышает производительность вычислений.

История развития

От ARMv1 до ARMv7

История ARM началась в 1983 году, когда британская компания Acorn Computers приступила к разработке собственного процессора для домашнего компьютера Acorn Archimedes. Первый процессор ARM1 был выпущен в 1985 году и использовался в качестве сопроцессора, а полноценный ARM2 (архитектура ARMv2) появился в 1987 году. Ключевой особенностью ранних ARM-процессоров была крайне низкая потребляемая мощность при достаточной производительности, что достигалось за счёт простоты набора команд и небольшого числа транзисторов.

В 1990 году компания Acorn выделила подразделение по разработке процессоров в самостоятельную компанию Advanced RISC Machines (позже — ARM Holdings). ARM не производила чипы самостоятельно, а лицензировала свои архитектуры и схемотехнические решения другим компаниям. Эта бизнес-модель позволила ARM занять доминирующее положение на рынке мобильных устройств.

Архитектуры ARMv3—ARMv6 (процессоры ARM7, ARM9, ARM11) использовались в первых смартфонах, КПК и цифровых камерах. Архитектура ARMv7, представленная в 2005 году, стала основой для процессоров Cortex-A8, A9 и A15, применявшихся в большинстве смартфонов и планшетов вплоть до середины 2010-х годов. Все эти архитектуры были 32-битными.

Переход к 64-бит: ARMv8

Архитектура ARMv8-A была анонсирована в октябре 2011 года. Она ввела два режима работы: AArch32 (совместимость с 32-битным кодом ARMv7) и AArch64 (полноценный 64-битный режим). В режиме AArch64 процессор использует 64-битные регистры общего назначения (31 регистр X0–X30), 64-битный программный счётчик и поддерживает 64-битную виртуальную адресацию. При этом набор инструкций был существенно переработан: часть устаревших инструкций убрана, а большинство команд имеют фиксированную длину 32 бита, что упрощает конвейерную обработку.

Первыми процессорами на архитектуре ARMv8-A стали чипы Apple A7 (сентябрь 2013 года), использованные в iPhone 5s, и Qualcomm Snapdragon 410. С тех пор все мобильные процессоры верхнего и среднего уровня выпускаются с поддержкой 64-битных вычислений. В 2016 году компания Arm представила архитектуру ARMv8.2-A с улучшениями для машинного обучения и высокопроизводительных вычислений, а в 2021 году — ARMv9, которая стала дальнейшим развитием 64-битной линейки.

Технические особенности

Ключевые принципы RISC

В отличие от архитектуры x86, использующей сложный набор команд (CISC), ARM основана на принципах RISC: каждая инструкция выполняет одну простую операцию, все инструкции имеют одинаковую длину (в режиме AArch64 — 32 бита), а обращение к памяти происходит только через специальные инструкции загрузки (LDR) и сохранения (STR). Это упрощает аппаратную реализацию, снижает энергопотребление и позволяет достигать высокой тактовой частоты при малом тепловыделении.

Регистры и адресация

В режиме AArch64 доступны 31 регистр общего назначения шириной 64 бита (X0–X30), а также регистры XZR (нулевой регистр) и SP (указатель стека). Для 32-битных операций используются младшие половины регистров (W0–W30). Адресация виртуальной памяти поддерживает до 48 бит (256 ТБ) в большинстве реализаций, с расширением до 52 бит в ARMv8.2-A. Физическая память может адресоваться до 48 бит.

Набор инструкций

Набор команд AArch64 включает инструкции для целочисленной арифметики, логических операций, работы с памятью, условных переходов и ветвлений. Также присутствуют инструкции для работы с числами с плавающей запятой (FPU) и SIMD-расширение NEON, которое позволяет выполнять операции сразу над несколькими элементами данных (например, 128-битные векторные регистры V0–V31). В ARMv8.2-A добавлены инструкции для полуточной арифметики (FP16), а в ARMv9 — расширения SVE2 (Scalable Vector Extensions) для гибкой векторной обработки.

Классификация процессоров

Процессорные ядра ARM делятся на три основные линейки:

  • Cortex-A — высокопроизводительные ядра для смартфонов, планшетов, серверов и ПК. Примеры: Cortex-A53, A72, A76, A78, X1, X2.
  • Cortex-R — ядра реального времени для автомобильной электроники, промышленных контроллеров и медицинской техники.
  • Cortex-M — маломощные микроконтроллерные ядра для датчиков, встраиваемых систем, бытовой техники и устройств Интернета вещей.

64-битная архитектура поддерживается в основном ядрами Cortex-A, начиная с Cortex-A53 и Cortex-A57, а также в новейших ядрах Cortex-X-серии. Ядра Cortex-M до недавнего времени оставались 32-битными, однако в 2023 году Arm представила ядро Cortex-M85 с поддержкой Armv8.1-M, которое может использовать 64-битные вычисления при необходимости.

Применение

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

Основной областью применения 64-битной архитектуры ARM являются смартфоны и планшеты. Процессоры Apple A-серии (A7 и новее), Qualcomm Snapdragon (начиная с 400-й серии), Samsung Exynos, MediaTek Dimensity и Huawei Kirin построены на 64-битных ядрах ARM. Это позволяет мобильным устройствам обрабатывать большие объёмы данных, запускать ресурсоёмкие приложения и игры, а также использовать современные алгоритмы шифрования.

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

В 2020 году компания Apple представила собственные процессоры серии M1 (позже M2, M3, M4) на архитектуре ARM64 для линейки компьютеров MacBook и iMac. Эти процессоры показали высокую производительность при низком энергопотреблении, что стало важным шагом в распространении ARM на рынке ПК. Компания Microsoft совместно с Qualcomm выпускает версии Windows 11 для устройств на базе Snapdragon X-серии. Операционные системы Linux также полностью поддерживают ARM64.

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

Серверные процессоры на архитектуре ARM64, такие как Amazon Graviton, Ampere Altra и Huawei Kunpeng, используются в центрах обработки данных. Они обеспечивают высокую плотность вычислений на ватт потребляемой энергии, что снижает эксплуатационные расходы крупных облачных провайдеров.

Встраиваемые системы и Интернет вещей

Микроконтроллеры Cortex-M с 32-битной архитектурой широко применяются в датчиках, контроллерах «умного дома», носимой электронике. С появлением 64-битных возможностей в новых ядрах открываются перспективы для более сложных встраиваемых приложений, требующих повышенной безопасности и производительности.

Сравнение с x86

Архитектура x86, разработанная Intel и AMD, долгое время доминировала на рынке ПК и серверов. Основные отличия ARM64 от x86-64:

  • Энергопотребление: ARM64 изначально проектировалась для мобильных устройств, поэтому обеспечивает лучшее соотношение производительности к потребляемой мощности.
  • Набор команд: x86 использует CISC-подход с переменной длиной инструкций, ARM — фиксированную длину и упрощённый набор.
  • Совместимость: x86 поддерживает огромный объём унаследованного программного обеспечения, ARM64 требует перекомпиляции или эмуляции.
  • Лицензирование: Intel и AMD разрабатывают и производят процессоры самостоятельно, тогда как Arm продаёт лицензии на архитектуру множеству производителей.

В последние годы разрыв в производительности между ARM64 и x86 сокращается, особенно в сегменте серверов и ПК, однако экосистема программного обеспечения для x86 остаётся значительно более зрелой.

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

  • В 2016 году компания Arm была приобретена японским холдингом SoftBank за 32 миллиарда долларов США, а в 2023 году провела повторное публичное размещение акций на бирже NASDAQ.
  • Процессоры ARM используются не только в электронике, но и в ряде суперкомпьютеров: например, японский суперкомпьютер Fugaku, возглавлявший рейтинг TOP500 в 2020–2021 годах, построен на 64-битных ядрах ARM (Fujitsu A64FX).
  • Общее количество процессоров ARM, выпущенных с 1991 года, превышает 250 миллиардов штук, что делает эту архитектуру самой массовой в истории.
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru