Процессоры armv8: в чем преимущества 64-битной архитектуры?

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)?

Выбор файла для загрузки

Имея в виду описанное выше, вернемся к нашему примеру с YouTube. Мы рассмотрим и определим, какая именно загрузка относится к моему Honor 8 lite. Мы знаем, что она работает с 64-битным процессором ARM, имеет DPI 320 и работает под управлением Android 7.1.

Легко сопоставить тип процессора и версию Android-arm64 и Android 5.0+.

Если в Вашем случае нет подходящего DPI, то нужно следовать следующему принципу: самый высокий доступный DPI или «nodpi».

Мы рекомендуем перейти к варианту «nodpi», поскольку он содержит все доступные ресурсы для охвата гаммы DPI. Так почему бы не выбрать этот? Из-за размера файла, поскольку он содержит ресурсы для работы любого DPI, это большой файл. Если Вы можете найти файл, который соответствует DPI Вашего устройства, всегда используйте его. В противном случае Вы также можете выбрать тот, который наиболее близок в DPI Вашего устройства.

Программные особенности

Три вида операционных систем нацелено на процессоры ARM:

Android от поискового гиганта Google.

Windows Mobile от «Майкрософт».

Все остальное системное программное обеспечение пока не получило большого распространения. Наибольшую долю на рынке такого софта, как не сложно догадаться, занимает именно Android. Эта система имеет простой и понятный интерфейс и устройства на ее основе начального уровня являются очень и очень доступными. До версии 4.4 включительно она была 32-битной, а с 5.0 стала поддерживать 64-разрядные вычисления. Эта ОС успешно функционирует на любом семействе ЦПУ архитектуры RISC , в том числе и ARM Cortex A7. Инженерное меню — это еще одна важная особенность данного системного софта. С ее помощью можно существенно перенастроить возможности ОС. Доступ же к этому меню можно получить с помощью кода, который для каждой модели ЦПУ индивидуален.

Еще она важная особенность этой ОС — установка всех возможных обновлений автоматически. Поэтому даже новые возможности могут появиться на чипах семейства ARM Cortex A7. Прошивка их может добавить. Вторая система нацелена на мобильные гаджеты компании APPLE. Такие устройства в основном занимают премиум — сегмент и имеют соответствующие уровни быстродействия и стоимость. Последняя ОС в лице Windows Mobile пока не получила большого распространения. Устройства на ее основе есть в любом сегменте мобильны гаджетов, но вот малое количество прикладного софта в данном случае является сдерживающим фактором для ее распространения.

Cortex – самые совершенные ARM

Cortex – современные архитектуры для мобильных устройств, встроенных систем и микроконтроллеров. Соответственно CPU обозначаются как Cortex-A, встроенные – Cortex-R и микроконтроллеры – Cortex-M. Все они построены на базе архитектуры ARMv7.

Наиболее совершенная и мощная архитектура в линейке ARM – Cortex-A15. Предполагается, что на ее базе будут производиться в основном двух или четырехъядерные модели. Cortex-A15 из всех предыдущих ARM наиболее близка к х86 по количеству и качеству блоков.

В основе Cortex-A15 лежат процессорные ядра, снабженные блоком FPU и набором SIMD-инструкций NEON, призванных ускорить обработку мультимедийных данных. Ядра имеют 13-стадийный конвейер, они поддерживают выполнение инструкций в свободном порядке, виртуализацию на базе ARM.

Cortex-A15 поддерживает систему расширенной адресации памяти. ARM остается 32-битной архитектурой, но инженеры компании научились преобразовывать 64-битную или другую расширенную адресацию в понятную процессору 32-битную. Технология получила название Long Physical Address Extensions. Благодаря ей, Cortex-A15 в теории может адресовать до 1 Тбайт памяти.

Каждое ядро снабжено кэшем первого уровня. Кроме того, есть до 4 Мбайт распределенного кэша второго уровня с низким уровнем латентности. Процессор снабжен 128-битной когерентной шиной, которая может быть использована для связи с другими блоками и периферией.

Ядра, которые лежат в основе Cortex-A15 являются развитием Cortex-A9. Они имеют схожую структуру.

Cortex-A9, в отличие от Cortex-A15, может выпускаться как во много-, так и одноядерном варианте. Максимальная частота составляет 2.0 ГГц, Cortex-A15 предполагает возможность создания чипов, работающих на частоте 2.5 ГГц. Чипы на ее базе будут изготавливаться по техпроцессам 40 нм и более тонким. Cortex-A9 выпускается по техпроцессам 65 и 40 нм.

Cortex-A9, как и Cortex-A15, предназначен для использования в высокопроизводительных смартфонах и планшетах, но более серьезное применение, например, в серверах ему не по зубам. Только Cortex-A15 имеет аппаратную виртуализацию, расширенную адресацию памяти. Кроме того, набор SIMD-инструкций NEON Advanced и блок FPU в Cortex-A9 являются опциональными элементами, в то время как в Cortex-A15 они обязательны.

Cortex-A8 в будущем будет постепенно уходить со сцены, но пока этот одноядерный вариант найдет применение в бюджетных смартфонах. Недорогое решение с частотой от 600 МГц до 1 ГГц представляет собой сбалансированную архитектуру. Она имеет блок FPU, поддерживает первый вариант SIMD NEON. Cortex-A8 предполагает единственный техпроцесс – 65 нм.

Краткая справка о компании ARM

История компании ARM началась в 1990 году, когда она была основана Робином Саксби. Основой же для ее создания стала новая микропроцессорная архитектура. Если до этого господствующие позиции на рынке ЦПУ занимала х86 или CISC , то после образования данной компании появилась достойная альтернатива в виде RISC. В первом случае выполнение программного кода сводилось к 4 этапам:

Получение машинных инструкций.

Выполнение преобразования микрокода.

Поэтапное выполнение микроинструкций.

О сновная же идея архитектуры RIS С состояла в том, что обработку программного кода можно свести к 2 этапам:

Получение RISC- инструкций.

Обработка RISC- инструкций.

К ак в первом, так и во втором случае есть как плюсы, так и существенные недостатки. х86 успешно завоевала компьютерный рынок, а RISC ( в том числе и ARM Cortex A7 , представленная 2011 году) — рынок мобильных устройств.

Режимы процессора

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

Собственно, все наверное слышали про кольца защиты в x86. В ARM-ах есть точно такая же штука, только тут они называются Exception Levels (сокращенно EL). Их может быть от двух до четырех (или шести, смотря как считать). Это режимы работы процессора. Чем выше Exception Level, тем большими привилегиями обладает код исполняющийся в нем.

Все ядра ARMv7 или ARMv8 поддерживают минимум два из них: EL0 и EL1.

На EL0 работают пользовательские программы (например ваш браузер). У кода исполняющегося в EL0 нет никаких привилегий: он (обычно) не может работать с периферией, перенастраивать MMU, запрещать (и разрешать тоже) прерывания, обрабатывать исключительные ситуации. Но браузеру этого всего и не нужно. А если всё-таки нужно, то об этом надо попросить ядро OS.

На EL1 работают ядро и драйвера. У них, соответственно, есть возможность работать с периферией, программировать MMU и далее по списку. Еще лет 10 назад этого было бы вполне достаточно. Но технологии не стоят на месте.

Ещё два EL могут появится если процессорное ядро включает дополнительные расширения: virtualization extensions и security extensions. При чем оба эти расширения опциональны (хотя и присутствуют во всех современных чипах) и процессор может иметь или любое из них, либо оба сразу. Немалая часть ARM Technical Reference Manual посвящена взаимодействию этих расширений.

Так, если если в ядре есть virtualization extensions, то появляется EL2. На этом уровне работает гипервизор. Так же MMU становится двухстадийным и появляется виртуальный контроллер прерываний. Но это совсем другая история которую нужно рассказывать отдельно.

Если в процессоре присутствуют security extensions, то появляется режим EL3 и режимы S-EL0 и S-EL1. Кроме того появляется понятие secure mode (и соответственно non-secure mode) — это режимы процессора ортогональные exception levels. EL3 обладает теми же привилегиями что и EL2, плюс ещё одной особенностью. Только в режиме EL3 код может переключить процессор между secure и non-secure mode. В чем же между ними разница? А разница только в значении одного бита — NS.

Дело в том, что security extensions — это не только расширения для вычислительного ядра. Эти расширения так же затрагивают MMU, контроллер прерываний и контроллер шины. Например, контролер шины проверяет значение этого самого бита NS при доступе к памяти и периферии. Если участок памяти помечен как secure, то доступ к нему можно получить только из secure mode. Это значит, что ни ядро обычной OS, ни гипервизор не смогут прочитать/изменить «безопасную» память. То же самое и с периферией. Если приходит прерывание которое помечено как secure, то это прерывание будет обрабатывать не обычная OS, а trusted OS из режима secure mode.

Получается, будто в одном процессоре живут два мира: normal world и secure world (это термины из официальной документации, если что). При чем secure world может вмешиваться в дела normal world, но не наоборот. В режиме EL3 работает secure monitor, который служит эдаким Хароном — позволяет попасть из одного мира в другой.

Как вы уже наверное догадались, режимы S-EL0 и S-EL1 — это аналоги EL0 и EL1 из normal world. В S-EL1 бегает ядро «безопасной» OS, а в S-EL0 — приложения (например та же виртуальная SIM-карта). На картинке выше используется терминология из ARMv7, но понять что к чему довольно легко (я надеюсь).

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 объем ОЗУ вырастит больше чем вдвое.

Графические ускорители Mali

Помимо процессоров, ARM также разрабатывает и графические ускорители семейства Mali. Подобно процессорам, графические ускорители характеризуются множеством параметров, например, уровнем сглаживания, интерфейсом шины, кэшем (сверхбыстрая память, используемая для повышения скорости работы) и количеством “графических ядер” (хотя, как мы писали в прошлой статье, этот показатель, несмотря на похожесть с термином, использующимся при описании CPU, практически не влияет производительность при сравнении двух GPU).

Первым графическим ускорителем ARM стал ныне неиспользуемый Mali 55, который был использован в сенсорном телефоне LG Renoir (да-да, самом обычном сотовом телефоне). GPU не использовался в играх — только для отрисовки интерфейса, и обладал примитивными по нынешним меркам характеристиками, но именно он стал “родоначальником” серии Mali.

С тех пор прогресс шагнул далеко вперёд, и сейчас немалое значение имеют поддерживаемые API и игровые стандарты. К примеру, поддержка OpenGL ES 3.0 сейчас заявлена только в самых мощных процессорах вроде Qualcomm Snapdragon 600 и 800, а, если говорить о продукции ARM, то стандарт поддерживают такие ускорители, как Mali-T604 (именно он стал первым графическим процессором ARM, выполненным на новой микроархитектуре Midgard), Mali-T624, Mali-T628, Mali-T678 и некоторые другие близкие к ним по характеристикам чипы

Тот или иной GPU, как правило, тесно связан с ядром, но, тем не менее, указывается отдельно, а, значит, если вам важно качество графики в играх, то имеет смысл посмотреть на название ускорителя в спецификациях смартфона или планшета

Есть у ARM в линейке и графические ускорители для смартфонов среднего сегмента, наиболее распространёнными среди которых являются Mali-400 MP и Mali-450 MP, которые отличаются от своих старших братьев сравнительно небольшой производительностью и ограниченным набором API и поддерживаемых стандартов. Несмотря на это, указанные GPU продолжают использоваться в новых смартфонах, к примеру, Zopo ZP998, который получил графический ускоритель Mali-450 MP4 (улучшенную модификацию Mali-450 MP) вдобавок к восьмиядерному процессору MTK6592.

Предположительно, в конце 2014 года должны появиться смартфоны с новейшими графическими ускорителями ARM: Mali-T720, Mali-T760 и Mali-T760 MP, которые были представлены в октябре 2013 года. Mali-T720 должен стать новым GPU для недорогих смартфонов и первым графическим процессором этого сегмента с поддержкой Open GL ES 3.0. Mali-T760, в свою очередь, станет одним из наиболее мощных мобильных графических ускорителей: по заявленным характеристикам, GPU имеет 16 вычислительных ядер и обладает поистине огромной вычислительной мощностью, 326 Гфлопс, но, в то же время, в четыре раза меньшим энергопотреблением, чем упомянутый выше Mali-T604.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector