ARMv7-A¶
ARMv7-A — это 32-битная архитектура системы команд (ISA), разработанная компанией ARM Holdings (ныне входит в состав SoftBank Group) и относящаяся к седьмому поколению ARM-архитектур. Она является одной из наиболее распространённых и долгоживущих архитектур для мобильных устройств, встраиваемых систем и одноплатных компьютеров, выпускавшихся с середины 2000-х до начала 2020-х годов. ARMv7-A ориентирована на приложения, требующие высокой производительности (Application profile), в отличие от профилей Real-time (ARMv7-R) и Microcontroller (ARMv7-M).
¶История и развитие
Архитектура ARMv7 была анонсирована в 2005 году как преемница ARMv6, используемой в процессорах ARM11. Основным нововведением стал переход к строгой профильной модели: ARMv7-A, ARMv7-R и ARMv7-M. Первыми процессорами на ARMv7-A стали ядра Cortex-A8 (2005, выпуск — 2007) и Cortex-A9 (2007). Они пришли на смену устаревшим ARM11 и XScale.
Массовое распространение ARMv7-A получила с выходом процессора Apple A4 (2010) в iPhone 4 и iPad, а затем — с появлением чипов Qualcomm Snapdragon S4 и Samsung Exynos 4. Архитектура стала стандартом для смартфонов и планшетов в период 2010–2015 годов. С 2011 года начался переход на 64-битную архитектуру ARMv8-A, однако ARMv7-A продолжала активно использоваться в бюджетных и среднеценовых устройствах, а также в промышленной и встраиваемой технике до середины 2020-х годов.
¶Ключевые особенности
¶32-битная система команд
ARMv7-A поддерживает два основных набора инструкций:
- ARM — 32-битные инструкции фиксированной длины;
- Thumb-2 — смешанный набор 16- и 32-битных инструкций, обеспечивающий более высокую плотность кода без потери производительности.
Также поддерживается режим Jazelle (аппаратное ускорение Java-байткода), хотя на практике он применялся редко.
¶Профиль приложений (Application)
Архитектура включает полноценный блок управления памятью (MMU), поддержку виртуальной памяти и многозадачности, что позволяет запускать операционные системы общего назначения: Linux, Android, iOS, Windows RT, FreeBSD и др.
¶Поддержка SIMD-инструкций
В ARMv7-A введены расширения Advanced SIMD (NEON) — 128-битные векторные инструкции для ускорения мультимедийных вычислений, обработки сигналов и криптографии. NEON стал стандартом для всех процессоров Cortex-A, начиная с Cortex-A8.
¶Дополнительные расширения
- VFPv3/VFPv4 — модули операций с плавающей запятой (одинарная и двойная точность);
- TrustZone — аппаратная технология изоляции для безопасных вычислений (Secure World и Normal World);
- Virtualization Extensions — поддержка аппаратной виртуализации (введена в ARMv7-A с ядром Cortex-A15).
¶Процессорные ядра ARMv7-A
Архитектура ARMv7-A реализована в нескольких семействах ядер, разработанных ARM Holdings и сторонними производителями.
¶Собственные ядра ARM
| Ядро | Год анонса | Тактовая частота (тип.) | Кэш L1 | Кэш L2 | Особенности |
|---|---|---|---|---|---|
| Cortex-A8 | 2005 | до 1,5 ГГц | 32 КБ I + 32 КБ D | 0–1 МБ | Первое ядро ARMv7-A, суперскалярное |
| Cortex-A9 | 2007 | до 2,0 ГГц | 32 КБ I + 32 КБ D | 0–8 МБ | Многоядерные конфигурации (до 4 ядер) |
| Cortex-A15 | 2010 | до 2,5 ГГц | 32 КБ I + 32 КБ D | 0–4 МБ | Поддержка виртуализации, OoO-исполнение |
| Cortex-A7 | 2011 | до 1,5 ГГц | 32 КБ I + 32 КБ D | 0–512 КБ | Энергоэффективное ядро, часть big.LITTLE |
| Cortex-A5 | 2009 | до 1,0 ГГц | 4–64 КБ I + 4–64 КБ D | нет | Бюджетное ядро, замена ARM11 |
| Cortex-A17 | 2014 | до 2,0 ГГц | 32 КБ I + 32 КБ D | 0–8 МБ | Улучшенная версия Cortex-A12 |
¶Лицензированные реализации сторонних производителей
Многие компании (Qualcomm, Samsung, Marvell, Texas Instruments) выпускали собственные ядра на основе ARMv7-A, модифицируя микроархитектуру:
- Qualcomm Scorpion (Snapdragon S1–S4) — модифицированное ядро Cortex-A8/A9;
- Qualcomm Krait (Snapdragon S4, 400, 600, 800) — собственное высокопроизводительное ядро;
- Samsung Exynos 4 (Mongoose) — собственное ядро на базе Cortex-A9;
- Marvell Armada — ядра на базе ARMv7-A для серверов и NAS.
¶Применение
¶Мобильные устройства
ARMv7-A стала основной архитектурой для смартфонов и планшетов с 2007 по 2015 год. На ней работали:
- iPhone 3GS, 4, 4S, 5, 5C;
- большинство Android-смартфонов 2010–2015 годов (Samsung Galaxy S, HTC One, LG Optimus);
- iPad (1–4 поколения), iPad mini (1–2);
- устройства на Windows Phone (Nokia Lumia 920, 1020).
¶Одноплатные компьютеры
На ARMv7-A построены многие популярные одноплатные компьютеры:
- Raspberry Pi 2 (BCM2836, 4 ядра Cortex-A7);
- Raspberry Pi 3 (BCM2837, 4 ядра Cortex-A53 — но в 32-битном режиме);
- BeagleBone Black (AM335x, Cortex-A8);
- ODROID-XU4 (Exynos 5422, Cortex-A15 + Cortex-A7).
¶Встраиваемые и промышленные системы
Архитектура широко применялась в:
- сетевых устройствах (роутеры, NAS, шлюзы);
- автомобильных информационно-развлекательных системах;
- медицинском оборудовании;
- промышленных контроллерах.
¶Программная экосистема
¶Операционные системы
ARMv7-A поддерживается всеми основными ОС:
- Android — до версии 10 включительно (с Android 11 начался переход на 64-бит);
- iOS — до iOS 10 (с iOS 11 — только 64-бит);
- Linux — ядро поддерживает ARMv7-A с 2006 года;
- Windows RT — версия Windows 8/8.1 для ARM;
- FreeBSD, OpenBSD, NetBSD — с поддержкой ARMv7-A.
¶Инструменты разработки
Для ARMv7-A доступны компиляторы GCC с поддержкой ARM и Thumb-2, LLVM/Clang, а также проприетарные инструменты ARM (ARM Compiler, DS-5). Код может компилироваться как для 32-битного режима (armv7l), так и для смешанного (ARM + Thumb-2).
¶Ограничения и устаревание
Основным ограничением ARMv7-A является 32-битная адресация памяти (до 4 ГБ ОЗУ), что стало критично для современных приложений и операционных систем. С 2016 года большинство новых процессоров ARM перешли на 64-битную архитектуру ARMv8-A. Однако ARMv7-A остаётся актуальной для:
- бюджетных устройств (до 2020 года);
- встраиваемых систем с ограниченными ресурсами;
- задач реального времени, где 32-битная разрядность достаточна.
С 2022 года компания ARM прекратила выпуск новых лицензий на ядра ARMv7-A, сосредоточившись на ARMv8-A и ARMv9-A. Тем не менее, миллиарды устройств на ARMv7-A продолжают эксплуатироваться по всему миру.
¶Интересные факты
- Процессор Apple A4 (Cortex-A8) в iPhone 4 работал на частоте 1 ГГц, что для 2010 года было рекордом среди мобильных чипов.
- Архитектура ARMv7-A стала основой для первого в мире двухъядерного мобильного процессора — NVIDIA Tegra 2 (2010).
- Ядро Cortex-A7, входящее в архитектуру ARMv7-A, было разработано как энергоэффективное дополнение к производительным ядрам в схеме big.LITTLE, что позволило существенно продлить время автономной работы смартфонов.
- В 2012 году компания Raspberry Pi Foundation выпустила Raspberry Pi Model B на процессоре ARM11 (ARMv6), но уже через два года перешла на ARMv7-A в Raspberry Pi 2.
¶Источники
- ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition (ARM DDI 0406C)
- ARM Cortex-A Series Programmer’s Guide (ARM DEN 0013C)
- Документация ARM Holdings: Cortex-A8, Cortex-A9, Cortex-A15 Technical Reference Manuals
- Статьи AnandTech, Tom’s Hardware, WikiChip по архитектурам ARM
- Официальные спецификации Raspberry Pi (Raspberry Pi Foundation)
- Материалы конференций ARM TechCon (2010–2015)
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →

