V7a v8a что это
Русские Блоги
Понимание 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.
ARM как будущая архитектура для настольных ПК
Содержание
Содержание
Большинство привыкло к полярному рынку в мире процессоров — поле битвы делят Intel и AMD. Однако вполне вероятно, что ситуация изменится в ближайшем будущем, ведь компания Nvidia покупает фирму ARM — разработчика процессорных архитектур. Что же такое ARM и чем все это может обернуться для IT-индустрии?
Желудь из Кембриджа
Для начала стоит объяснить, что ARM обозначает одновременно и архитектуру процессоров (в данном случае Advanced RISC Machine) и название компании (ARM Limited). История берет свое начало с сотрудничества бывшего сотрудника крупной британской компании Sinclair Research Криса Карри и инвестора Германа Хаузера. В 1978 они основали компанию Cambridge Processor Unit (CPU), которая уже в 1979 была переименована в Acorn (Желудь). Такое названия было выбрано по одной простой причине — находиться в телефонном справочнике перед Apple.
Первым продуктом был карманный компьютер за 80 фунтов Acorn System 1, который стоил дешевле своего аналога ZX80, чем и запомнился многим пользователям.
Через два года Acorn получила крупный тендер от британской BBC (та самая радиовещательная компания) на создание компьютера для школ. Так появился BBC Micro, тираж которого превысил 1,5 миллионов устройств. Поступало даже предложение от Билла Гейтса с портированием MS-DOS на BBC Micro, но в Acorn от этого отказались.
Команда разработчиков увеличивалась и постепенно появилась идея перейти к более сложным технологиям, а именно работать с 16-разрядными процессорами. Сначала решили «прощупать» почву и отправились на экскурсию в компанию National Semiconductor. Ситуация крайне разочаровала разработчиков Acorn: над процессорами трудились сотни человек, но многочисленных ошибок и «проволочек» в разработке избегать не удавалось.
Совсем другая история была в Western Design Center, которую также посетили учредители. Там процессоры разрабатывали буквально несколько человек в «домашней» обстановке. Ведущий разработчик Acorn Роджер Уилсон был настолько впечатлен, что сам загорелся идеей разработки собственных процессоров, а не покупки как это предполагалось ранее.
В 1985 году появился первый процессор ARM на тогда популярной RISC-архитектуре. Вот только он был всего-лишь подключаемым дополнением для BBC Master (продвинутой версии ранее упомянутой BBC Micro).
Своеобразным прорывом стал ARM 2: до 64 Мб оперативной памяти, тактовая частота 8 МГц — для тех времен весьма впечатляющие показатели. Конкурентом был небезызвестный Intel 80368 с частотой 16 МГц. Разница в частоте была двукратная, но не в производительности. ARM 2 выполнял 4 миллиона операций против 5 миллионов у Intel 80368!
Перенасыщение рынка компьютеров в 1984 привело к сложному экономическому положению, и Acorn была куплена итальянским брендом Olivetti. Однако последующее заполнение рынка IBM PC и аналогами привело к тому, что вкладывать средства в архитектуру на базе RISC итальянцы не стали.
Новые союзники
Герман Хаузер искал способы сохранить процессорный бизнес и нашел союзника — Apple. Они же в 1990 проектировали инновационный карманный компьютер Newton, для которого энергоэффективные ARM подходили просто идеально. Третьим союзником стала компания VLSI Technologies, которая имела непосредственное отношение к производству интегральных схем.
В итоге появилась компания ARM, которая специализировалась исключительно на проектировании. Свою интеллектуальную собственность разработчики уже продавали по лицензиям другим компаниям.
Несмотря на то, что на рынке ПК главенствовала архитектура x86, ARM по-прежнему обеспечивала рабочие станции IBM и Sun Microsystems, а также огромный рынок микроэлектроники.
В чем главная особенность ARM
Во многом именно благодаря Apple после появления первого iPhone и iPad стала понятна значимость RISC-архитектуры. Потребление энергии процессоров было столь низким, что позволяло использовать их практически в любых портативных устройствах. Как не старалась Intel, добиться таких же показателей на х86 не получалось.
Итог — процессоры на ARM можно найти практически в любых портативных устройствах — смартфоны, GPS-навигаторы, игровые приставки, фото- и видеокамеры, телевизоры и не только. Как же так получилось, что принципиального в ARM? Ответом на этот вопрос является RISC-архитектура.
В существующей классификации можно выделить CISC (Complex Instruction Set Computing — комплексный набор инструкций) и RISC (Reduced Instruction Set Computing — сокращенный набор команд). Усовершенствование процессоров приводило к увеличению размера команды. В какой-то момент усложнения стали такими, что некоторые команды потребовали двух и больше тактов на исполнение.
Тогда в рамках проекта VSLI был предложен новый принцип — использовать команды заданной длины с заранее предопределенным расположением полей, а также дополнительно увеличить число общих регистров, благодаря которому процессору придется реже обращаться к ОЗУ. Проще говоря, сложные вычисления должны разбиваться на идентичные простые, обработка которых выполняется с большей эффективностью.
Так появилась RISC с сокращенным набором команд. С одной стороны, такой подход не позволял тягаться с устройствами на базе CISC, но уровень вычислительной мощности был достаточным для микроэлектроники, не говоря о мизерном тепловыделении.
ARM против x86/x64 — есть ли перспективы
Могут ли процессоры ARM тягаться с десктопными решениями от Intel или AMD. В одном из материалов был проведен крупный тест процессоров на архитектуре E2K (отечественные Эльбрусы), ARM (v6-v8) и x86 (i386) х86-64 (amd64). Использовались насколько тестов, в том числе LINPACK, который применяется для оценки производительности суперкомпьютеров.
Процессоры ARM были представлены следующими моделями: Amlogic S922X, Samsung Exynos 4412, Allwinner H5, Allwinner A64 и Broadcom BCM2837B0 (последний используется в миникомпьютере Raspberry PI 3).
Весь список результатов вы сможете изучить на этой странице, а мы приведем график для теста liNPACK:
Некоторые модели ARM-процессоров дотягиваются до уровня производительности Intel Atom. Аналогичную ситуацию можно видеть и на примере мобильного процессора Snapdragon 835. Исходя из тестов, он более чем в два раза проигрывает мобильным версиям Intel Core i5, не говоря уже про десктопные решения.
С другой стороны такие тесты нельзя назвать максимально объективными. Во-первых, большинство подборных программ ориентированы под x86/x64, поэтому для ARM часто приходится использовать эмуляторы, которые сказываются на результатах. Во-вторых, все рассматриваемые решения изначально ориентированы на мобильную электронику с минимальным тепловыделением и «жором» аккумулятора.
Однако можно ли использовать ARM для десктопных решений? Вполне вероятно, и первые звоночки уже есть. Каждые 6 месяцев выходит рейтинг ТОП-500 — список самых мощных суперкомпьютеров в мире. Ранее первые места занимали решения c Intel Xeon или Nvidia Volta, однако в рейтинге от сентября 2020 года самым мощным компьютером стал японский Fugaku. Беспрецедентный случай, ведь построен он именно на процессорах ARM (A64FX 48C). Замеры производительности показали 513,8 петафлопс. Много это или мало? Бывший лидер IBM Power Systems AC922 имеет всего 200,7 петафлопс — более чем в два раза меньше!
Конечно, в Fugaku целых 158 976 процессоров на 52 (48+4) ядра, но сам факт того, что на ARM можно строить столь производительные системы уже заслуживает внимания.
Второй звоночек — покупка ARM компанией Nvidia (подписание договора ожидается только к 2022 году), которая является крупнейшим игроком рынка с огромным опытом. Учитывая, что в сфере графических ускорителей они занимают главенствующие позиции, есть вероятность, что «зеленые» попробуют свои силы в сфере ЦП.
Возможно, Nvidia хочет выйти на мобильный игровой рынок. У компании уже существует платформа Tegra, которая объединяет в себе графическое ядро и ARM процессор. C новой покупкой Tegra вполне способна выйти за пределы смартфонов, смартбуков и КПК.
Также Apple объявила о переходе на процессоры ARM собственной разработки и отказ от продукции Intel. Это позволит сделать совместимыми приложения между MacOS и iOS. Как известно, линейка процессоров «A» всегда показывала выдающиеся результаты, благодаря чему iPhone находились в ТОПе самых производительных смартфонов. Однако достаточно ли таких наработок, чтобы заменить хотя бы Intel Core i5 — остается вопросом.
Сейчас у Apple есть только «демонстрационная технология» на базе процессора A12Z Bionic. Разработчики могут получить «девкит» за 779 долларов, но потом его придется вернуть (Apple во всей красе). Новинка A12Z будет установлена в iPad Pro 2020 и, судя по презентации, планшет прекрасно справляется с любыми пользовательскими задачами.
Более того, на процессоре получилось даже запустить Shadow of the Tomb Raider через эмулятор на средне-низких настройках, поэтому потенциал есть.
Если верить тестам за 2017–2018 гг., то iPad и iPhone уже практически дотягиваются до уровня i7 и даже i9, установленных в MacBook Pro.
Есть еще один игрок на рынке — фирма Ampere. Как заявляют представители, их 80-ядерный ARM-процесор превосходит AMD Epyc 7742 и Intel Xeon 8280, однако в тесте для AMD использовался понижающий коэффициент, который компенсировал недоработки пакета компиляторов.
Что ждет x86/x64
Стоит ли хоронить процессоры на x86/x64 — пока об этом рано говорить. Уже достаточно давно процессоры Intel и AMD разбивают входные инструкции на более мелкие микроинструкции (micro-ops), которые в дальнейшем, не удивляйтесь, исполняются RISC-ядром.
Те самые 4–8 ядер вашего процессора, это именно RISC-ядра. Проще говоря, ARM-технология является частью архитектуры x86/x64. Именно поэтому будущим может стать не тотальное вымирание, а именно более совершенная гибридная архитектура. С другой стороны, за счет уменьшения техпроцесса ARM может добиться производительности десктопных процессоров Intel и AMD, но с сохранением приемлемого энергопотребления.
Серверные решения на ARM уже реальность и даже весьма перспективная, а значит, не за горами и массовые процессоры для персональных компьютеров.
Определение типа архитектуры процессора 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, перейдите на вкладку «Система» и обратите свое внимание на раздел «Процессор».
Как вам данная инструкция? Все ли понятно? Если у вас появились дополнительные вопросы или же возникли замечания к информации выложенной на данной странице — не стесняйтесь. Напишите в комментариях!
Русские Блоги
Android arm64-v8a, armeabi-v7a, armeabi, x86 подробное объяснение
Недавно при упаковке с флаттером я столкнулся с ситуацией, когда упаковка не могла быть напечатана. Я долго проверял причину и обнаружил, что это было вызвано отсутствием конфигурации руки. После того, как она была экипирована, она разыгралась. Я воспользовался этой возможностью, чтобы изучить abi с нуля.
перед началом
Прежде чем начать, вам нужно знать lib, libs и т. Д.
1. lib и libs
Ссылки на те, что помещены в lib, включены в библиотеки.
Файлы, помещенные в библиотеки, будут автоматически включены редактором. Так что не ставьте API в библиотеках.
Содержимое библиотеки lib не будет упаковано в APK, содержимое библиотеки li будет упаковано в APK
Введение в архитектуру
Нет картины без правды:
Существует только один неизвестный телефон с операционной системой Android 4.3, который использует архитектуру v7.
Для 64-битных телефонов и 64-битных процессоров
Поскольку новый 64-разрядный процессор в настоящее время включает в себя две архитектуры, а технология процесса не была улучшена (28 нм), в то же время на мобильных телефонах и планшетах площадь чипа строго ограничена и не может быть чрезмерно увеличена, что приводит к среднему распределению 64-разрядных процессоров ARM. Количество транзисторов в каждой архитектуре резко сократилось, то есть из 32-разрядной архитектуры 64-разрядных процессоров для 32-разрядных процессоров с одинаковыми характеристиками они не только не улучшились, но и производительность снизилась в определенном масштабе. Однако производители процессоров должны объяснить потребителям, как лучше продвигать 64-разрядные системы, поэтому производители должны повысить производительность в других аспектах, чтобы компенсировать потери, вызванные сокращением числа транзисторов ЦП. Например: замените более мощный графический процессор, увеличьте пропускную способность памяти, многоядерный виртуальный одноядерный для повышения производительности одноядерного, совместные поставщики программного обеспечения для работы, чтобы изменить веса работы (повысить оценку GPU, снизить вес процессора) и т. Д. Таким образом, приобретая сильные стороны и избегая недостатков и, наконец, попадающих в руки потребителей, они работают с запущенным программным обеспечением, оно действительно улучшилось, пользователи довольны, карманы производителя также выпирают.
Таким образом, битовый процессор ARM64 более точно называется ARM32 + 64 в строгом смысле слова. По сравнению с битовым процессором ARM32, он имеет место для регресса и возможности для улучшения, но именно из-за регрессии, который стимулировал прогресс ARM Определено, что он внесет смелые и смелые изменения, и это должно быть улучшением. Но действительно ли ARM64 полезен для мобильных телефонов? Я могу только сказать, что это действительно бесполезно в данный момент, но это может произойти в будущем. (Собранный в другом месте) Таким образом, в строгом смысле ARM64-битный процессор более точно называется ARM32 + 64. По сравнению с ARM32-битным процессором он имеет некоторые недостатки и возможности для улучшения, но это из-за Эта регрессия подтолкнула ARM к решимости добиться прогресса, что позволило ему внести радикальные изменения, что, по-видимому, является улучшением. Но действительно ли ARM64 полезен для мобильных телефонов? Я могу только сказать, что это действительно бесполезно в данный момент, но это может произойти в будущем. (Искал в другом месте)
Однако Google официально объявил об обязательной 64-битной архитектуре в начале этого года.:
Еще в январе этого года (2019 г.) Google выпустил уведомление о том, что с 1 августа этого года перечисленные приложения, помимо предоставления 32-разрядных версий, также должны предоставлять 64-разрядные версия.
Следовательно, больше невозможно принудительно использовать только архитектуру armeabi перед проектом.
Что конкретно означает поддержка 64-битной версии?
Если ваше приложение написано полностью на Java или Kotlin и не содержит никакой встроенной поддержки, то это означает, что приложение уже поддерживает 64-битную версию.
Однако в приложении используется любая встроенная поддержка (например, библиотека), поэтому вам необходимо обеспечить разные версии поддержки этих файлов и разных архитектур ЦП.
Следует отметить, что иногда в нашем собственном коде встроенная поддержка действительно не используется, но в нее включены некоторые сторонние библиотеки, используемые в приложении.
В настоящее время наиболее надежным способом является анализ файла APK, созданного окончательной упаковкой, для определения необходимости обеспечения поддержки 64-разрядной архитектуры.
Конфигурация упаковки
Трещина
Эта команда может быть заключена в соответствии с различными правилами, такими как abi, плотность экрана (например, ldpi, hdpi и т. д.)
Включить включено, а исключить не включено. Каждый элемент, включенный в конфигурацию, будет генерировать пакет apk.
Фильтр ndk
Эта инструкция может быть настроена для упаковки только той библиотеки, которую вы настраиваете, и она не будет упакована, если она не настроена, что очень гибко.
Эта конфигурация упакует библиотеку so из трех пакетов armeabi, armeabi-v71, arm64-v8a в apk, в отличие от split, которая будет воспроизводить apk для каждого пакета.