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:
Конец эпохи ARMv7 или же немного о портировании игр
Вступление
Разбор apk
Итак, что такое .apk? APK файл представляет из себя немного модифицированный ZIP архив, который содержит ресурсы игры и игровой движок. Выглядит он примерно так:
Папка lib — ключевая точка при переносе между архитектурами. Она содержит библиотеки движка нашей игры.
* armeabi — armv6 библиотеки (не актуально)
* armeabi-v7a — armv7 библиотеки (при отсутствии папки — отсутствует и поддержка архитектуры)
* arm64-v8a — armv8 x64 библиотеки
Перенос
Шаг #1
Первым делом нам нужно узнать, возможно ли портировать игру. Для этого нужно определить движок игры. К примеру, файл lib/libunity.so — принадлежит Unity Engine, а по наличию папки assets/x-renpy можно догадаться, что игра разработана на RenPy Engine. Если у игры движок не является собственным, то переходим к шагу два.
Шаг #2
Шаг #3
Мы нашли подходящего донора, теперь нам нужно добавить папку lib/armeabi-v7a в наш (name).apk. Добавляем и видим следующее:
В самом начале, как я уже сказал, APK файл представляет из себя немного модифицированный ZIP архив, а после изменения его содержимого он становится обычным ZIP’ом.
Шаг #4
Для того, чтобы ваше устройство могло установить ваш (name).apk файл, его нужно «подписать». Для этого есть несколько различных утилит, к примеру apk-signer.
Шаг #5
Будь добрым человеком, выложи свой порт для общего пользования, к примеру, в топик игры на том же 4PDA. 😉
Как узнать архитектуру процессора вашего телефона Android
Если вы любите загружать приложения на свой телефон Android, возможно, вы столкнулись с тем, что некоторые приложения имеют разные сборки, что приводит к путанице в отношении того, какую сборку загружать и устанавливать на вашем телефоне. Эта путаница возникает из-за большого числа производителей процессоров для рынка Android. У нас есть Qualcomm, MediaTek, Samsung, Huawei и некоторые другие мелкие производители, которые разрабатывают чипсеты для рынка Android. Даже у одного и того же производителя есть разные категории чипсетов, чтобы удовлетворить потребности разных людей.
Разработчики приложений разрабатывают разные версии одного и того же приложения, чтобы они бесперебойно работали на разных устройствах с разными аппаратными конфигурациями. По этой причине разработчики из Google LLC разработали 22 варианта приложения YouTube. Таких примеров много. Если вы опытный пользователь Android, вы должны знать следующее:
Достаточно сказать, теперь следуйте этим шагам, чтобы узнать о процессоре вашего телефона.
Вы также можете попробовать следующие приложения, которые выполняют ту же функцию, что и Droid Hardware Info.
Что такое архитектура процессоров и как её определить?
Термин архитектура процессора не имеет устойчивого объяснения. По сути, архитектура включает в себя комбинацию из: микроархитектур, включающих в себя основные части процессора и методы их взаимодействиями между собой; набора команд, начиная от модели исполнения и заканчивая форматами данных и микрокода.
Если рассматривать архитектуру процессоров со стороны аппаратной части ПК, то мы увидим определенный набор характеристик, которому соответствует то или иное семейство процессоров, иными словами, внутренняя их конструкция. Со стороны программистов, архитектура представляет набор определенных команд, их структуру и метод использования.
Одной из самых популярных мобильных архитектур на данный момент является ARM, разработкой которой занимается ARM Limited. Остальные компании попросту лицензируют технологию ARM и на базе данной лицензии выпускают свои процессоры, сюда можно отнести Qualcomm, Nvidia с их чипами Tegra, всем известные Mediatek, чипы от Apple и, конечно же, Samsung с Exynos.
Второй по значимости можно считать архитектуру x86, за разработку которой отвечает не менее известная компания Intel. До недавнего времени, данная архитектура использовалась крайне редко и то на бюджетных устройствах, но со временем она начала набирать популярность и теперь занимает свою нишу на рынке мобильных процессоров.
По сути, обычный пользователь не заметит разницы от использования смартфонов/планшетов на разных архитектурах и это не удивительно, Android адаптируется под любые среды и отлично работает на всех архитектурах. Единственным минусом является несовместимость отдельно взятых приложений/игр, заточенных под те или иные архитектуры.
Для этих целей можно использовать бесплатные приложения доступные в Google Play. Наиболее простой и известной в использовании программой является Droid Hardware Info.
Русские Блоги
Понимание arm64-v8a, armeabi-v7a, armeabi, x86 в Android
При разработке android вы часто сталкиваетесь с проблемой, в каком каталоге находится библиотека. Сегодня я кратко проанализирую различия между процессорами различных архитектур. Пока читатель может понять смысл этих каталогов, в него не нужно углубляться.
Сначала поговорим о разнице между 32-битным процессором и 64-битным процессором
64-битные и 32-битные относятся к процессоруОбщий регистрШирина данных.
Первоначально дизайн операционной системы отличается,64-битная операционная системаПервоначально был разработан для удовлетворения механического проектирования и анализа,3D анимация、Редактирование видеоИ создание, иНаучные вычисленияиВысокопроизводительные вычисленияКлиентам, которым требуется много памяти и производительность с плавающей запятой в приложениях и других областях, основное внимание уделяется запуску некоторых специальных отраслевых приложений, и32-битная операционная системаОн предназначен для обычных пользователей, и основное внимание уделяется ежедневному использованию прикладного программного обеспечения.
Программное обеспечение отличается
Разный контроль над памятью
32-битная операционная системаФактическая идентифицируемая память составляет 3,5 ГБ, и 64-разрядная операционная система может фактически поддерживать 128 ГБ памяти, что также является основным отличием 64-разрядной и 32-разрядной системы по внешнему виду и фактическому значению.
1. Являются ли lib и libs одинаковыми?
Ссылка на то, что помещается в lib, и на то, что помещается в lib, включена.
Файлы, размещенные в библиотеках, автоматически включаются Eclipse. Так что не ставьте API в библиотеки.
Содержимое lib не будет упаковано в APK, а содержимое libs будет упаковано в APK
Так называемая архитектура ARMv8 была разработана на основе архитектуры MIPS64, добавив в архитектуру ARMv7 такие функции, как технология TrustZone, технология виртуализации и усовершенствованная технология NEON SIMON.
64-битная архитектура ARMv8 содержит два состояния выполнения: AArch32 (также известный как ARMv7) и AArch64 (ARMv8). Состояние выполнения AArch64 предназначено для 64-битной технологии обработки, в которой вводится новый набор команд A64 (то есть на основе полученной архитектуры MIPS64), а состояние выполнения AArch32 будет поддерживать существующий набор команд ARM. Следовательно, 64-разрядный процессор ARM содержит как 32-разрядную архитектуру ARMv7, так и 64-разрядную архитектуру ARMv8. Поэтому:
Новые 64-разрядные процессоры в настоящее время включают две архитектуры, и технология процесса не была улучшена (28 нм). В то же время на мобильных телефонах и планшетах область микросхем строго ограничена и не может быть чрезмерно увеличена. Это привело к равномерному распределению 64-разрядных процессоров ARM. Количество транзисторов в каждой архитектуре резко уменьшилось, то есть с точки зрения 32-разрядной архитектуры в 64-разрядном процессоре, для 32-разрядного процессора той же спецификации не только не улучшилось, но и производительность в некоторой степени снизилась. Однако производители процессоров должны дать потребителям объяснение, как лучше продвигать 64-разрядные системы, поэтому производители должны повысить производительность в других аспектах, чтобы компенсировать потери, вызванные сокращением числа транзисторов ЦП. Например: замените графический процессор на более высокую производительность, увеличьте пропускную способность памяти, многоядерный виртуальный одноядерный для повышения производительности одноядерного процессора, измените рабочий вес поставщика совместно работающего программного обеспечения (улучшите графический процессор, уменьшите вес центрального процессора) и так далее. Таким образом можно избежать сильных сторон, и, наконец, они попадают в руки потребителей. Когда они работают с работающим программным обеспечением, они улучшаются, пользователи довольны, а карманы производителей также увеличиваются.
В итоге, ARM64-битный процессор в строгом смысле более строго называется ARM32 + 64. По сравнению с ARM32-битным процессором он имеет место для регресса и возможности для улучшения, но именно из-за регрессии он мотивировал ARM на прогресс. Решимость сделать это радикально вперед может рассматриваться только как улучшение. Но действительно ли ARM64 полезен для мобильных телефонов? Я могу только сказать, что это действительно бесполезно в данный момент, но, возможно, в будущем. (Собран в другом месте)
Настоящий 64-разрядный телефон не просто остается на процессоре. Если он называется 64-разрядным телефоном только потому, что его процессор 64-разрядный, мы можем без колебаний сказать, что это может быть ложной пропагандой. К счастью, Lenovo Очень умно, когда дело дошло до анонса A678t и A805e, были упомянуты только телефоны с 64-битным процессором.
«Мобильный телефон с 64-разрядным процессором» и «Мобильный телефон с 64-разрядной архитектурой» представляют собой два совершенно разных понятия: поскольку процессор содержит биты с 64 архитектурами, его можно назвать «мобильный телефон с 64-разрядным процессором», этот тип мобильного телефона может не работать 64-битные программы используются только для захвата рынка. По сравнению с 32-битными мобильными телефонами преимущества не очевидны.
«64-разрядный телефон» отличается: он содержит 64-разрядный процессор, 64-разрядную стандартную систему, 64-разрядную виртуальную машину Android и 64-разрядную программу. Это настоящий 64-разрядный телефон!
Представители Google заявили, что Android уже давно поддерживает 64-разрядную версию. Это правда. От Android 4.0 до Android 4.4 Android поддерживает 64-разрядное оборудование, но это только означает, что основной драйвер поддерживает 64-разрядную версию и может работать. На вершине 64-битного оборудования, не более того. Однако программное обеспечение, работающее на верхнем уровне, как виртуальная машина Dalvik, так и виртуальная машина ART, является 32-разрядным. Другими словами, до тех пор, пока ваша система мобильной связи работает под управлением Android 4.0-4.4, даже если ваш процессор 64-разрядный, вы можете запускать 32-разрядные программы только на 32-разрядной виртуальной машине. Даже если перед вами стоит настоящая 64-разрядная программа, И при этом это не может быть установлено.
В ноябре 2011 года ARM выпустила некоторые технические подробности о ARMv8, 64-разрядной архитектуре процессора нового поколения (также известной как Cortex-A57A53), которая представляет будущее мобильных процессоров, входящих в 64-разрядные ряды. Мы должны прояснить, что в самом ARM нет технологии проектирования 64-битных чипов, он разработал ее, приобретя некоторые права на использование технологии архитектуры процессора MIPS64 и объединив некоторые функции ARM. Другими словами: из трех основных архитектур MIPS, ARM и X86 единственный ARM без 64-битной технологии был 64-битным благодаря приобретению MIPS.








