Меню Закрыть

Arm64 v8a что это

Содержание

Поделитесь в соцсетях:

В 2011 году компания ARM Limited анонсировала новое семейство процессоров под названием ARMv8. А в 2013 году компания Apple выпустила первый ARMv8-процессор – однокристальную систему А7, которая применяется в iPhone 5S, iPad Air и iPad mini Retina. Архитектура ARMv8 получила 64-битный набор команд, но это далеко не единственное её преимущество над предшественницей ARMv7. Как устроены и какими бывают 64-битные процессоры ARMv8, читайте в статье.

Об истории архитектуры ARM, специфике деятельности компании ARM Limited и поколениях процессоров ARMv5, ARMv6 и ARMv7 вы можете прочитать в статье «Процессоры ARM: особенности архитектуры, отличия и перспективы». А про популярные модели ARMv7-чипов производства Qualcomm, NVIDIA, Samsung, Apple, MediaTek и др. подробно рассказано в статьях «Процессоры ARM: производители и модели» и «Процессоры ARM: обновление модельного ряда».

Нововведения ARMv8

Обновленную архитектуру процессоров семейства ARMv8 окрестили именем AArch64. Она получила 64-битный набор инструкций и возможность работать с большим объемом оперативной памяти (4 Гбайт и больше). Само собой, предусмотрена совместимость с 32-битными приложениями (AArch32). Другими важными нововведениями ARMv8 стали:

— 31 регистр общего назначения, каждый длиной 64 бита, тогда как SP и PC не являются регистрами общего назначения. Чем выше разрядность регистров, тем больше числа можно в них хранить. А чем больше количество регистров, тем больше данних в них помещается одновременно. Как результат, за одну инструкцию можно обработать больший объем данних и весь алгоритм выполнится быстрее;
— трансляция виртуальных адресов из 48-битного формата работает с помощью механизмов LPAE, позаимствованных у ARMv7;
— новый набор инструкций с фиксированной длинной. Инструкции имеют размер 32 бита и многие совпадают с командами AArch32, хотя условных инструкций стало меньше;
— увеличено с 16 до 32 количество 128-битных регистров (совместимы с 64-битными регистрами), доступных сопроцессорам SIMD NEON и VFP, а также добавлены новые криптографические инструкции AES и SHA. Набор инструкций SIMD NEON ускоряет работу приложений, отвечающих за обработку медиаданных и сигналов. В свою очередь VFP отвечает за малоэнергозатратные вычисления над числами с плавающей запятой;
— поддержка вычислений над числами с плавающей запятой двойной точности и стандарта IEEE 754, который является общепринятым форматом представления чисел с плавающей запятой, используемый в программных реализациях арифметических действий.

Референсные ядра ARM Limited

Первыми процессорными ядрами ARMv8, разработанными непосредственно компанией ARM Limited, стали Cortex-A53 и A57. Ядро A53 является среднеуровневым решением с производительностью 2,3 DMIPS/МГц, что находится примерно по середине между нынешними Cortex-A7 (1,9 DMIPS/МГц) и A9 (2,5 DMIPS/МГц). Тогда как A57 занимает верхний сегмент, ведь его быстродействие (4,1 DMIPS/МГц) превосходит показатели обеих 32-битных флагманов: Cortex-A15 (3,5 DMIPS/МГц) и А17 (4 DMIPS/МГц).

Помимо лицензирования референсных процессорных ядер компания ARM Limited продает расширенные лицензии, позволяющие чипмейкерам по своему усмотрению модифицировать архитектуру ARM. Такие лицензии есть, к примеру, у Apple, Qualcomm и NVIDIA. Поэтому ничто не мешает производителям процессоров создавать собственные решения на базе ARMv8, существенно отличающиеся от референсных Cortex-A53 и A57.

Apple A7

Первым и пока единственным 64-битным ARM-процессором, который уже применяется в смартфонах и планшетах, является Apple A7. Построен он на фирменной архитектуре Apple Cyclone, совместимой с ARMv8. Это вторая разработанная внутри компании процессорная архитектура; первой же была Swift (чипы A6 и A6X, семейство ARMv7).

Читайте также:  Процессор обрабатывает информацию в двоичном коде

Процессорных ядер у однокристальной системы A7 только два (частота до 1,4 ГГц), но присутствует графический ускоритель PowerVR G6430 с четырьмя кластерами ядер. Быстродействие чипа A7 в процессорозависимых задачах выросло примерно в полтора раза по сравнению с А6, тогда как в различных графических тестах прирост составляет от двух до трех раз.

А вот теоретическую возможность работать с большим объемом оперативной памяти благодаря 64-битной архитектуре процессора A7 устройства под управлением iOS пока не ощущают. У iPhone 5s, iPad Air и iPad mini Retina всего лишь 1 Гбайт оперативки; и вряд ли в новом поколении мобильных устройств Apple объем ОЗУ вырастит больше чем вдвое.

Qualcomm Snapdragon 410, 610, 615, 808 и 810

Вслед за Apple свои 64-битные ARM-процессоры поспешила анонсировать компания Qualcomm, причем сразу пять моделей. Правда, пока ни одна из них в коммерческих смартфонах или планшетах не применяется. Скорее всего, расцвет эпохи 64-битных Android-устройств состоится в начале 2015 года на выставках CES и MWC.

Однокристальная система Snapdragon 410 (MSM8916) – младшая из анонсированной 64-битной линейки Qualcomm. Она включает в себя четыре ядра Cortex-A53 с частотой от 1,2 ГГц, графический ускоритель Adreno 306 и, что интереснее всего, навигационный модуль с поддержкой спутниковых сетей GPS, ГЛОНАСС и даже китайской Beidou. Применять Snapdragon 410 планируют в недорогих смартфонах на базе Android, Windows Phone и Firefox OS.

Те же четыре ядра Cortex-A53, что у 410-того, содержит чип Snapdragon 610 (MSM8936), вот только графика у него улучшенная Adreno 405. Тогда как Snapdragon 615 (MSM8939) схож с 610-тым графикой, но процессорных ядер Cortex-A53 у него вдвое больше – восемь Cortex-A53.

В отличие от 410, 610, 615 моделей, выполненных по 28-нм техпроцессу, чипы Snapdragon 808 (MSM8992) и 810 (MSM8994) будут производиться по передовым 20-нм технологическим нормам. Они оба строятся по схеме big.LITTLE: два (модель 808) или четыре (810) мощных ядра Cortex-A57 и четыре энергоэффективных Cortex-A53. Графика представлена Adreno 418 и Adreno 430 соответственно. Кроме того, старший Snapdragon 810 имеет встроенный контроллер оперативной памяти стандарта LPDDR4.

Но главный вопрос: когда именно компания Qualcomm представит собственную процессорную архитектуру на основе ARMv8, как это было со Scorpion и Krait (модифицированные ARMv7)?

MediaTek MT6732, MT6752, MT6795

Не могла долго оставаться в стороне 64-битной гонки и компания MediaTek, всего за несколько лет превратившаяся из мелкого производителя процессоров для китайских клонов iPhone в одного из крупнейших в мире чипмейкеров, пусть и безфабричного. Впрочем, Apple и Qualcomm собственных производственных линий по «штамповке» полупроводников тоже не имеют.

Читайте также:  Xiaomi mi box pro 4k 2gb

Однокристальные системы MediaTek MT6732 и MT6752 должны составить конкуренцию чипам Snapdragon 610 и 615. У них четыре и восемь процессорных ядер Cortex-A53 (частота 1,5 и 2 ГГц соответственно) и одинаковая графика Mali-T760 (разработка ARM Limited). Старший же чип MT6795 стал ответом Snapdragon 810: архитектура big.LITTLE, по четыре ядра Cortex-A57 и A53 с частотой 2,2 ГГц, а также графический ускоритель PowerVR G6200.

NVIDIA Tegra K1 (Project Denver)

Компания NVIDIA решила перевести на 64-битную процессорную архитектуру свой уже существующий чип Tegra K1. Графическая составляющая у него и раньше была едва ли не лучшей среди конкурентов – GK20A с 192 ядрами Kepler, производительностью 365 GFLOPS и поддержкой ПК-стандартов графики DirectX 11.2 и OpenGL 4.4 (а не их мобильных аналогов).

Вместо же четырех 32-битных ядер Cortex-A15 (плюс пятое энергоэффективное ядро) обновленная однокристальная система Tegra K1 получит два ARMv8-совместимых ядра фирменной архитектуры NVIDIA Project Denver. Тактовая частота процессора вырастет до 2,5 ГГц, увеличится и объем кеша. Интересный факт: графика Tegra K1 примерно в пятьдесят раз мощнее Tegra 2.

Выводы

За один такт процессоры архитектуры ARMv8 способны обработать значительно больше данных. Это повышает как общую производительность процессора, так и производительность на ватт. Учитывая ограничения технологических норм (максимально допустимую тактовую частоту), переход на ARMv8 – это единственный возможный способ нарастить быстродействие мобильных процессоров, не выходя за разумные рамки энергопотребления и нагрева.

Естественно, пользу от архитектуры ARMv8 получат только те приложения для iOS и Android, которые способны задействовать все ресурсы новых процессоров. Оптимизация программ под новую архитектуру может быть как ручной, так и автоматической, на уровне компилятора.
Первое же Android-устройство с 64-битным ARM-процессором и 4 Гбайт ОЗУ – фаблет Samsung Galaxy Note 4 (чип Exynos 5433: по четыре ядра Cortex-A57 и A53) – представят уже 3 сентября. А вторым, возможно, станет планшетный компьютер HTC серии Google Nexus c процессором Tegra K1 Denver.

Недавно мы рассказывали вам о том, как узнать DPI дисплея вашего Android устройства, которое необходимо знать для выбора правильного APK файла приложения, которое вы хотите установить на него вручную. Однако, при этом зачастую нужно знать еще и тип процессора: ARM, ARM64 или x86, который используется в вашем смартфоне или планшете.

Как оказалось, многие владельцы Android устройств не имеют никакого представления об этом. Поэтому сегодня речь пойдет о том, как можно получить эти сведения.

Самым простым способом узнать тип процессора на базе которого выполнен ваш смартфон, планшет или другое Android устройство будет установить на него приложение Droid Hardware Info.

Это приложение доступно для скачивания с этой страницы Google Play Маркет совершенно бесплатно и после его запуска вы увидите на экране смартфона следующую информацию (слева — данные о смартфоне Nexus 5, справа — информация о Nexus 6):

Читайте также:  Aela the huntress skyrim

В самой первой строке с наименованием «CPU architecture» вы увидите одно из значений: ARMv7, AArch64 или x86, а в строке «Insructions Set»: armeabi, arm64 или x86abi.

Соответствие этих значений типу вашего процессора приведено ниже:

ARM: ARMv7 или armeabi

ARM64: AArch64 или arm64

x86: x86 или x86abi

Есть еще один достаточно простой способ узнать тип процессора вашего смартфона, планшета или другого устройства, который знаком пользователям Linux

Для этого вам нужно установить на свое устройство из Google Play Маркет приложение Terminal Emulator, запустить его и выполнить следующую команду:

На экране при этом отобразится информация о процессоре в следующей форме:

Как вы уже, наверняка поняли, нам нужна информация из самой первой строки «Processor:»

armeabi, armeabi-v7a, arm64-v8a, x86, x86_64, mips, mips64.

Ну, armeabi — вроде понятно. Эта вроде архитектура на всех (или почти на всех) реальных гаджетах.
x86 — вроде тоже понятно. Это прежде всего для Genymotion и прочих эмуляторов, где Android x86.

Будет ли идеальным решением просто построить либу под все ABI? А если нет возможности протестить везде, а только на x86 и armeabi?

И почему столько armов: armeabi, armeabi-v7a, arm64-v8a? Какой из них актуальнее? Как определить, какой поддерживается моим гаджетом? Могут ли быть несколько сразу?

1 ответ 1

x86 — это прежде всего процессоры Intel Atom, которые установлены в немалое число реальных устройств, а не эмуляторы. Эмулятор, как раз может эмулировать любую архитектуру, независимо от архитектуры процессора, на котором хостится — на то он и эмулятор. Вы можете в этом убедится сами, посмотрев на список образов для эмуляции:

Минимальным набором поддерживаемых архитектур является набор APP_ABI := x86 armeabi . Далее следует определиться, будет ли ваше приложение использовать дополнительные возможности архитектуры armeabi-v7a, например NEON — если это так, то данную архитектуру тоже следует включить в список (расширенный список инструкций arm-v7) — на самом деле, сейчас практически все ARM процессоры, как минимум v7

В последнее время устройства с процессорами на 64-ех битной архитектуре все чаще появляются в продаже, поэтому их тоже стоит учесть.

Точно проигнорировать можно mips/mips64

Узнать, какая архитектура у вашего устройства, можно по спецификации процессора, который оно использует. Например, Qualcomm Snapdragon 820 — ARM-V8A. Так же в маркете можно найти программы, которые покажут системную информацию.

Несколько архитектур ARM в одном процессоре быть не может, но каждая следующая включает предыдущую, то есть в ARM-V7 включен ARM, в ARM-V8 — ARM-V7. По факту, самая актуальная сейчас ARM-платформа — ARM-V7, на ней построено абсолютное большинство действующих процессоров, но ARM-V8 активно наступает.
Разница в ARM-архитектурах очевидна, каждая следующая — шаг в эволюции, добавляются новые возможности на уровне железного ядра.

Вы можете указать собрать библиотеку под все abi и это будет хорошим решением, если итоговый размер приложения вас устроит — каждая дополнительная платформа — новые файлы, которые имеют размер.

Рекомендуем к прочтению

Добавить комментарий

Ваш адрес email не будет опубликован.