ARMv7 — что это на Андроид?

ARMv7 — что это такое?
Архитектура процессоров в портативных устройствах, например смартфоны, плееры, умные часы и даже роутеры. v7 это просто версия.
Например в телефоне Xperia Ray стоит проц SnapDragon с данной архитектурой, это же относится и к планшету Prestigio PMP558OC.
В данной версии, по сравнению с предыдущей — выше частота, поддержка нескольких физических ядер.
Данный тип процессоров мало кушает энергии и при этом обеспечивает хорошую производительность.
ARM используется во многих смартфонах. А в 2007 году около 98% из более чем миллиарда телефонов, которые продавались, были оснащены по крайней мере одним процессором ARM.
ARMv7 была создана компанией ARM Limited. А другие компании, например NVIDIA, LG, Samsung — покупают лицензию у ARM Limited на выпуск процессоров с такой архитектурой.
То есть ARMv7 — это не модель процессора, это именно его архитектура.
Стоит понимать, что приложения, которые выпущены под ARMv7 — не будут работать на устройствах, где стоит ARMv6. А вот наоборот — работать могут, но вот качество работы может быть разное.
Первым процессорным ядром семейства ARMv7 было именно Cortex-A8, которое использовалось в процах Apple A4 (iPhone 4 и iPad) и Samsung Hummingbird (Samsung Galaxy S и Galaxy Tab).
Флагманские чипы ARMv7 могут иметь частоту свыше 2 ГГц и 8 ядер, что очень неплохо для смартфона.
Все процессоры ARMv7 поддерживают набор инструкций Thumb-2, благодаря которым современные приложения могут работать быстрее.
Как узнать архитектуру процессора на Android?
Теперь о том, как узнать — что у вас вообще? ARMv7 или предыдущая версия? Итак, смотрите — это можно узнать например при помощи утилиты CPU-Z, она показывает много инфы, в том числе и архитектуру (Architecture):
Выше на картинке видим 4x ARM Cortex-A7 @ 1,21 GHz — означает что это проц 4 ядра с частотой 1.21 ГГц, а вот чтобы узнать подробнее про архитектуру, то гуглим инфу по ARM Cortex-A7 и узнаем что это ARMv7:
Тоже самое можно узнать и при помощи проги AnTuTu Benchmark:
Определение типа архитектуры процессора Android-устройств
Часто при загрузке Андроид-приложений на сайтах предлагающих такую возможность, у пользователей есть возможность выбора файлов для различных архитектур системы. И тут возникают сложности — какую из загрузок нужно скачивать и устанавливать.
Архитектура процессора — это, простыми словами, схема по которой работают части процессора между собой, а также набор команд с помощью которых они «общаются» с другими частями устройства.
Многие разработчики делают универсальные приложения и игры, которые подходят под любые архитектуры процессоров. Но некоторые из них создают несколько версий программ специально «заточенных» под ту или иную архитектуру. При установке такого продукта из Google Play, сервис автоматически определяет все необходимые параметры установки и загружает на пользовательское устройство необходимые файлы. Пользователю не нужно думать над тем какой файл скачать.
Если же установка (по той или иной причине) из Google Play невозможна или нежелательна, пользователь может скачать файл APK на стороннем сайте. С его помощью можно установить приложение или игру «в ручном режиме». Вот тут-то, если на сайте есть несколько вариантов таких файлов, и появляются муки выбора.
На сегодняшний день, сайты предлагающие файлы для установки приложений и игр могут распространять APK-файлы следующих архитектур: armeabi-v7a, arm64-v8a, x86 и x86_64.
Ниже мы несколько более детально рассмотрим разные типы архитектуры для Android-устройств. Вы можете пропустить этот блок и перейти к следующему, но все-таки мы бы рекомендовали ознакомиться с этой информацией для более ясного понимания.
Файлы начинающиеся на «x86» и «arm» не являются взаимно совместимыми — вы должны использовать версию, предназначенную для конкретной архитектуры устройства.
Также, если ваш девайс имеет 32-разрядный процессор, 64-разрядный файл на нем работать не будет. А вот 64-разрядные процессоры обратно совместимы, поэтому на него можно устанавливать 32-разрядный файл.
Исходя из вышесказанного, можно составить такие правила совместимости:
В большинстве случаев телефоны используют архитектуру ARM. Более дешевые устройства используют версию armeabi-v7a, более мощные — версию arm64-v8a. Поэтому, если сомневаетесь в том, какую версию файла выбрать, выбирайте ту, которая имеет отметку «armeabi-v7a».
Определение архитектуры процессора устройства
Теперь, когда мы разобрались с теоретической частью, пора определить — на какой архитектуре разработан ваш телефон или планшет.
Для этого можно воспользоваться инструкцией к устройству (но в ней не всегда можно найти нужную информацию) или же найти данные в интернете. Но лучше всего это сделать с помощью специального приложения.
Самый простой способ!
Droid Hardware Info
Если вышеописанный способ вас чем-то не устраивает или же вы хотите получить более расширенные данные о системе вашего устройства, воспользуйтесь приложением Droid Hardware Info.
Установите эту утилиту в Google Play или с помощью APK-файла (скачав его на сайте Biblprog). Для получения нужной нам информации запустите Droid Hardware Info, перейдите на вкладку «Система» и обратите свое внимание на раздел «Процессор».
Как вам данная инструкция? Все ли понятно? Если у вас появились дополнительные вопросы или же возникли замечания к информации выложенной на данной странице — не стесняйтесь. Напишите в комментариях!
ARM против x86: В чем разница между двумя архитектурами процессоров?
Вы наверняка знаете, что мир процессоров разбит на два лагеря. Если вы смотрите это видео со смартфона, то для вас работает процессор на архитектуре ARM, а если с ноутбука, для вас трудится чип на архитектуре x86.
А теперь еще и Apple объявила, что переводит свои Mac на собственные процессоры Apple Silicon на архитектуре ARM. Мы уже рассказывали, почему так происходит. А сегодня давайте подробно разберемся, в чем принципиальные отличия x86 и ARM. И зачем Apple в это все вписалась?
Итак, большинство мобильных устройств, iPhone и Android’ы работают на ARM’е. Qualcomm, HUAWEI Kirin, Samsung Exynos и Apple A13/A14 Bionic — это все ARM-процессоры.
А вот на компьютере не так — там доминирует x86 под крылом Intel и AMD. Именно поэтому на телефоне мы не можем запустить Word с компьютера.
x86 — так называется по последним цифрам семейства классических процессоров Intel 70-80х годов.
Чем же они отличаются?
Есть два ключевых отличия.
Первое — это набор инструкций, то есть язык который понимает процессор
Второе отличие — это микроархитектура. Что это такое?
От того на каком языке говорят процессоры, зависит и то, как они проектируются. Потому как для выполнения каждой инструкции на процессоре нужно расположить свой логический блок. Соответственно, разные инструкции — разный дизайн процессора. А дизайн — это и есть микроархитектура.
Но как так произошло, что процессоры стали говорить на разных языках?
История CISC

Памятка программиста, 1960-е годы. Цифровой (машинный) код «Минск-22».
Всё началось в 1960-х. Поначалу программисты работали с машинным кодом, то есть реально писали нолики и единички. Это быстро всех достало и появился Assembler. Низкоуровневый язык программирования, который позволял писать простые команды типа сложить, скопировать и прочее. Но программировать на Assembler’е тоже было несладко. Потому как приходилось буквально “за ручку” поэтапно описывать процессору каждое его действие.
Поэтому, если бы вы ужинали с процессором, и попросили передать его вам соль, это выглядело бы так:
Этот подход стал настоящим спасением как для разработчиков, так и для бизнеса. Захотел клиент новую инструкцию — не проблема, были бы деньги — мы сделаем. А деньги у клиентов были.
Недостатки CISC
Но был ли такой подход оптимальным. С точки зрения разработчиков — да. Но вот микроархитектура страдала.
Представьте, вы купили квартиру и теперь вам нужно обставить её мебелью. Площади мало, каждый квадратный метр на счету. И вот представьте, если бы CISC-процессор обставил мебелью вам гостиную, он бы с одной стороны позаботился о комфорте каждого потенциального гостя и выделил бы для него своё персональное место.
С другой стороны, он бы не щадил бюджет. Диван для одного человека, пуф для другого, кушетка для третьего, трон из Игры Престолов для вашей Дейенерис. В этом случае площадь комнаты бы очень быстро закончилась. Чтобы разместить всех вам бы пришлось увеличивать бюджет и расширять зал. Это не рационально. Но самое главное, CISC-архитектура существует очень давно и те инструкции, которые были написаны в 60-х годах сейчас уже вообще не актуальны. Поэтому часть мебели, а точнее исполнительных блоков, просто не будут использоваться. Но многие из них там остаются. Поэтому появился RISC…
Преимущества RISC
С одной стороны писать на Assembler’е под RISC процессоры не очень-то удобно. Если в лоб сравнивать код, написанный под CISC и RISC процессоры, очевидно преимущество первого.
Так выглядит код одной и той же операции для x86 и ARM.
Представьте, что вы проектируете процессор. Расположение блоков на х86 выглядело бы так.
Каждый цветной квадрат — это отдельные команды. Их много и они разные. Как вы поняли, здесь мы уже говорим про микроархитектуру, которая вытекает из набора команд. А вот ARM-процессор скорее выглядит так.
Ему не нужны блоки, созданные для функций, написанных 50 лет назад.
По сути, тут блоки только для самых востребованных команд. Зато таких блоков много. А это значит, что можно одновременно выполнять больше базовых команд. А раритетные не занимают место.
Еще один бонус сокращенного набора RISC: меньше места на чипе занимает блок по декодированию команд. Да, для этого тоже нужно место. Архитектура RISC проще и удобнее, загибайте пальцы:
Поэтому наши смартфоны, которые работают на ARM процессорах с архитектурой RISC, долго живут, не требуют активного охлаждения и такие быстрые.
Лицензирование
Но это все отличия технические. Есть отличия и организационные. Вы не задумывались почему для смартфонов так много производителей процессоров, а в мире ПК на x86 только AMD и Intel? Все просто — ARM это компания которая занимается лицензированием, а не производством.
Даже Apple приложила руку к развитию ARM. Вместе с Acorn Computers и VLSI Technology. Apple присоединился к альянсу из-за их грядущего устройства — Newton. Устройства, главной функцией которого было распознавание текста.
Даже вы можете начать производить свои процессоры, купив лицензию. А вот производить процессоры на x86 не может никто кроме синей и красной компании. А это значит что? Правильно, меньше конкуренции, медленнее развитие. Как же так произошло?
Ну окей. Допустим ARM прекрасно справляется со смартфонами и планшетами, но как насчет компьютеров и серверов, где вся поляна исторически поделена? И зачем Apple вообще ломанулась туда со своим Apple Silicon.
Что сейчас?
Допустим мы решили, что архитектура ARM более эффективная и универсальная. Что теперь? x86 похоронен?
На самом деле, в Intel и AMD не дураки сидят. И сейчас под капотом современные CISC-процессоры очень похожи на RISC. Постепенно разработчики CISC-процессоров все-таки пришли к этому и начали делать гибридные процессоры, но старый хвост так просто нельзя сбросить.
Но уже достаточно давно процессоры Intel и AMD разбивают входные инструкции на более мелкие микро инструкции (micro-ops), которые в дальнейшем — сейчас вы удивитесь — исполняются RISC ядром.
Да-да, ребята! Те самые 4-8 ядер в вашем ПК — это тоже RISC-ядра!
Надеюсь, тут вы окончательно запутались. Но суть в том, что разница между RISC и CISC-дизайнами уже сейчас минимальна.
А что остается важным — так это микроархитектура. То есть то, насколько эффективно все организовано на самом камне.
Ну вы уже наверное знаете, что Современные iPad практически не уступают 15-дюймовым MacBook Pro с процессорами Core i7 и Core i9.
А что с компьютерами?
Недавно компания Ampere представила свой 80-ядерный ARM процессор. По заявлению производителя в тестах процессор Ampere показывает результат на 4% лучше, чем самый быстрый процессор EPYC от AMD и потребляет на 14% меньше энергии.
Компания Ampere лезет в сегменты Cloud и Workstation, и показывает там отличные цифры. Самый быстрый суперкомпьютер в мире сегодня работает на ARM ISA. С обратной стороны, Intel пытается все таки влезть в сегмент low power и для этого выпускает новый интересный процессор на микроархитектуре lakefield.
И Apple та компания, которая способна мотивировать достаточное количество разработчиков пилить под свой ARM. Но суть этого перехода скорее не в противостоянии CISC и RISC. Поскольку оба подхода сближаются, акцент смещается на микроархитектуру, которую делает Apple для своих мобильных устройств. И судя по всему микроархитектура у них крута. И они хотели бы ее использовать в своих компьютерах.
И если бы Intel лицензировал x86 за деньги другим людям, то вероятно Apple просто адаптировали свою текущую микроархитектуру под x86. Но так как они не могут этого сделать, они решили просто перейти на ARM. Проблема для нас с микроархитектурой в том, что она коммерческая тайна. И мы про нее ничего не знаем.
Итоги
Спрос на ARM в итоге вырастет. Для индустрии это не просто важный шаг, а архиважный. Линус Торвальдс говорил, что пока рабочие станции не станут работать на ARM — на рынке серверов будут использовать x86.
И вот это случилось — в перспективе это миллионы долларов, вложенных в серверные решения. Что, конечно, хорошо и для потребителей. Нас ждет светлое будущее и Apple, действительно, совершила революцию!
Редактор материала: Антон Евстратенко. Этот материал помогли подготовить наши зрители Никита Куликов и Григорий Чирков. Спасибо ребята!
| Дизайнер | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Архитектура | Разрядность ядра | Ядра | Профиль | Refe- rences | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Арм Лтд. | Третья сторона | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| TBA | Яблочная молния + Гром ( A13 ), Яблочная огненная буря + Ледяная буря ( A14 ), Яблочная огненная буря + Ледяная буря ( M1 ) | Arm Holdings предоставляет список поставщиков, которые реализуют ядра ARM в своей конструкции (стандартные продукты для конкретных приложений (ASSP), микропроцессоры и микроконтроллеры). Примеры применения ядер ARM32-битная архитектура32-разрядная архитектура ARM, такая как ARMv7-A (реализующая AArch32; подробнее об этом см. В разделе об ARMv8-A ), была наиболее широко используемой архитектурой в мобильных устройствах по состоянию на 2011 год. С 1995 года различные версии Справочного руководства по архитектуре ARM (см. § Внешние ссылки ) были основным источником документации по архитектуре процессора ARM и набору инструкций, отличая интерфейсы, которые все процессоры ARM должны поддерживать (например, семантика инструкций), от детали реализации, которые могут отличаться. Архитектура со временем развивалась, и седьмая версия архитектуры, ARMv7, определяет три архитектурных «профиля»: Хотя профили архитектуры были сначала определены для ARMv7, впоследствии ARM определила архитектуру ARMv6-M (используемую Cortex M0 / M0 + / M1 ) как подмножество профиля ARMv7-M с меньшим количеством инструкций. Режимы ЦПЗа исключением M-профиля, 32-разрядная архитектура ARM определяет несколько режимов ЦП в зависимости от реализованных функций архитектуры. В любой момент времени ЦП может находиться только в одном режиме, но он может переключать режимы из-за внешних событий (прерываний) или программно. Набор инструкций32-разрядная архитектура ARM (и по большей части 64-разрядная архитектура) включает следующие функции RISC: Арифметические инструкцииARM включает в себя целочисленные арифметические операции для сложения, вычитания и умножения; некоторые версии архитектуры также поддерживают операции разделения. ARM поддерживает 32-битное × 32-битное умножение с 32-битным или 64-битным результатом, хотя ядра Cortex-M0 / M0 + / M1 не поддерживают 64-битные результаты. Некоторые ядра ARM также поддерживают умножение 16 × 16 и 32 × 16 бит. Инструкции разделения включены только в следующие архитектуры ARM: Регистры
Регистры с R0 по R7 одинаковы для всех режимов ЦП; они никогда не попадают в банк. Регистры с R8 по R12 одинаковы во всех режимах ЦП, кроме режима FIQ. Режим FIQ имеет свои собственные регистры от R8 до R12. R13 и R14 объединены во все привилегированные режимы ЦП, кроме системного. То есть каждый режим, в который можно войти из-за исключения, имеет свои собственные R13 и R14. Эти регистры обычно содержат указатель стека и адрес возврата из вызовов функций соответственно. Регистр текущего состояния программы (CPSR) имеет следующие 32 бита. Условное исполнениеТот же алгоритм можно переписать, чтобы он был ближе к целевым инструкциям ARM, как: и закодирован на ассемблере как: который избегает ветвей по всем then и else статьям. Если r0 и r1 равны, то ни одна из SUB инструкций не будет выполняться, что устраняет необходимость в условном переходе для реализации while проверки в верхней части цикла, например, было использовано SUBLE (меньше или равно). Другие особенностиДругой особенностью набора инструкций является возможность сворачивания сдвигов и поворотов в инструкции «обработки данных» (арифметические, логические и перемещения регистр-регистр), так что, например, оператор C может быть отображена как инструкция, состоящая из одного слова, с одним циклом: Это приводит к тому, что типичная программа ARM оказывается более плотной, чем ожидалось, с меньшим количеством обращений к памяти; таким образом трубопровод используется более эффективно. Процессор ARM также имеет функции, редко встречающиеся в других архитектурах RISC, такие как относительная адресация ПК (действительно, на 32-битной ARM ПК является одним из его 16 регистров) и режимы адресации до и после инкремента. Набор инструкций ARM со временем увеличивался. Некоторые ранние процессоры ARM (до ARM7TDMI), например, не имеют инструкции для хранения двухбайтового количества. Конвейеры и другие вопросы реализацииСопроцессорыАрхитектура ARM (до ARMv8) обеспечивает ненавязчивый способ расширения набора команд с помощью «сопроцессоров», к которым можно обращаться с помощью MCR, MRC, MRRC, MCRR и подобных инструкций. Пространство сопроцессора логически разделено на 16 сопроцессоров с номерами от 0 до 15, причем сопроцессор 15 (cp15) зарезервирован для некоторых типичных функций управления, таких как управление кешами и работа MMU на процессорах, у которых он есть. В других случаях разработчики микросхем интегрируют оборудование только с помощью механизма сопроцессора. Например, механизм обработки изображений может представлять собой небольшое ядро ARM7TDMI, объединенное с сопроцессором, который выполняет специализированные операции для поддержки определенного набора примитивов транскодирования HDTV. ОтладкаАрхитектура ARMv7 определяет основные средства отладки на архитектурном уровне. К ним относятся точки останова, точки наблюдения и выполнение инструкций в «режиме отладки»; аналогичные возможности были также доступны в EmbeddedICE. Поддерживаются отладка как в «режиме остановки», так и в режиме «монитора». Фактический транспортный механизм, используемый для доступа к средствам отладки, архитектурно не определен, но реализации обычно включают поддержку JTAG. Существует отдельная архитектура отладки ARM «CoreSight», которая архитектурно не требуется для процессоров ARMv7. Порт доступа отладкиИнструкции по расширению DSPЧтобы улучшить архитектуру ARM для цифровой обработки сигналов и мультимедийных приложений, в набор были добавлены инструкции DSP. Они обозначены буквой «E» в названии архитектур ARMv5TE и ARMv5TEJ. E-варианты также подразумевают T, D, M и I. Новые инструкции распространены в архитектурах цифровых сигнальных процессоров (DSP). Они включают вариации умножения-накопления со знаком, сложения и вычитания с насыщением и подсчета ведущих нулей. Расширения SIMD для мультимедиаДжазельБольшой палецВ Thumb 16-битные коды операций имеют меньшую функциональность. Например, условными могут быть только переходы, а многие коды операций ограничены доступом только к половине всех регистров общего назначения ЦП. Более короткие коды операций дают улучшенную плотность кода в целом, даже несмотря на то, что некоторые операции требуют дополнительных инструкций. В ситуациях, когда порт памяти или ширина шины ограничены менее чем 32 битами, более короткие коды операций Thumb позволяют повысить производительность по сравнению с 32-битным кодом ARM, поскольку может потребоваться меньше программного кода, загружаемого в процессор при ограниченной полосе пропускания памяти. Первым процессором с декодером инструкций Thumb был ARM7TDMI. Все семейства ARM9 и более поздние, включая XScale, включают декодер инструкций Thumb. Он включает инструкции, заимствованные у Hitachi SuperH (1992), лицензированного ARM. Самые маленькие семейства процессоров ARM (Cortex M0 и M1) реализуют только 16-битный набор инструкций Thumb для максимальной производительности в самых недорогих приложениях. Большой палец-2Thumb-2 расширяет набор инструкций Thumb за счет манипуляции с битовыми полями, перехода к таблицам и условного выполнения. В то же время набор инструкций ARM был расширен для обеспечения эквивалентной функциональности в обоих наборах инструкций. Новый «Unified Assembly Language» (UAL) поддерживает создание инструкций Thumb или ARM из одного и того же исходного кода; версии Thumb, представленные на процессорах ARMv7, по сути так же функциональны, как и код ARM (включая возможность писать обработчики прерываний). Это требует некоторой осторожности и использования новой инструкции «IT» (если-то), которая позволяет выполнять до четырех последовательных инструкций на основе проверенного условия или его обратного. При компиляции в код ARM это игнорируется, но при компиляции в Thumb он генерирует фактическую инструкцию. Например: Все чипы ARMv7 поддерживают набор инструкций Thumb. Все микросхемы серий Cortex-A, Cortex-R и ARM11 поддерживают как «состояние набора инструкций ARM», так и «состояние набора команд Thumb», тогда как микросхемы серии Cortex-M поддерживают только набор инструкций Thumb. Среда выполнения Thumb (ThumbEE)23 ноября 2011 года Arm Holdings отказался от любого использования набора инструкций ThumbEE, а ARMv8 удаляет поддержку ThumbEE. С плавающей точкой (VFP)VFPv1 Устаревший VFPv2 Необязательное расширение набора инструкций ARM в архитектурах ARMv5TE, ARMv5TEJ и ARMv6. VFPv2 имеет 16 64-битных регистров FPU. VFPv3 или VFPv3-D32 Реализовано на большинстве процессоров Cortex-A8 и A9 ARMv7. Он обратно совместим с VFPv2, за исключением того, что он не может перехватывать исключения с плавающей запятой. VFPv3 имеет 32 64-битных регистра FPU в стандартной комплектации, добавляет инструкции VCVT для преобразования между скалярным, float и double, добавляет немедленный режим к VMOV, так что константы могут быть загружены в регистры FPU. VFPv3-D16 То же, что и выше, но только с 16 64-битными регистрами FPU. Реализовано на процессорах Cortex-R4 и R5 и Tegra 2 (Cortex-A9). VFPv3-F16 Необычный; он поддерживает IEEE754-2008 с плавающей запятой половинной точности (16 бит) в качестве формата хранения. VFPv4 или VFPv4-D32 Реализованный на процессорах Cortex-A12 и A15 ARMv7, Cortex-A7 опционально имеет VFPv4-D32 в случае FPU с Neon. VFPv4 имеет 32 64-битных регистра FPU в стандартной комплектации, добавляет поддержку половинной точности в качестве формата хранения и объединенные инструкции умножения с накоплением к функциям VFPv3. VFPv4-D16 То же, что и выше, но имеет только 16 64-битных регистров FPU. Реализовано на процессорах Cortex-A5 и A7 в случае использования FPU без Neon. VFPv5-D16-M Реализовано в Cortex-M7 при наличии опций ядра с плавающей запятой одинарной и двойной точности. Расширенный SIMD (Neon)ARM Гелиевая технологияРасширения безопасностиTrustZone (для профиля Cortex-A)Расширения безопасности, продаваемые как TrustZone Technology, входят в состав ARMv6KZ и более поздних архитектур профилей приложений. Он представляет собой недорогую альтернативу добавлению еще одного выделенного ядра безопасности в SoC, предоставляя два виртуальных процессора, поддерживаемых аппаратным контролем доступа. Это позволяет ядру приложения переключаться между двумя состояниями, называемыми мирами (чтобы избежать путаницы с другими именами для доменов возможностей), чтобы предотвратить утечку информации из более надежного мира в менее надежный мир. Этот переключатель мира обычно ортогонален всем остальным возможностям процессора, поэтому каждый мир может работать независимо от другого, используя одно и то же ядро. Затем память и периферийные устройства узнают об операционном мире ядра и могут использовать это для обеспечения контроля доступа к секретам и коду на устройстве. Samsung Knox использует TrustZone для таких целей, как обнаружение изменений в ядре. TrustZone для ARMv8-M (для профиля Cortex-M)Защита от невыполнения страницыРасширение большого физического адреса (LPAE)ARMv8-R и ARMv8-MARMv8.1-MАрхитектура ARMv8.1-M, анонсированная в феврале 2019 года, является усовершенствованием архитектуры ARMv8-M. Он предлагает новые функции, в том числе: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||








