Особенности архитектуры ARMv8

Процессоры ARM доказали свое преимущество во встроенных системах, мобильных телефонах, планшетах, но их использование для более серьезных приложений главным образом было ограничено возможностями 32-разрядной адресации. В качестве промежуточного решения в процессорах Cortex-A15, при сохранении общей 32-разрядной архитектуры, для адресации к оперативной памяти до 1 Тбайт было предложено расширение 40-bit Large Physical Address Extensions. Однако, это решение не обеспечивало будущее развитие процессоров фирмы ARM как в уже завоеванных областях, так и в новых областях применения типа серверов и т.п..

Архитектура ARMv8 была представлена в конце 2011 года и стала восьмой по счету версией архитектуры ARM, отсюда и ее название — ARMv8 (рис.21. 6).

 

 

Рис. 21.6. Архитектура ARMv8 в ряду других архитектур ARM

 

В архитектуре ARMv8-А реализован один из наиважнейших принципов при внедрении новых технологий - абсолютно полная обратная программная совместимость с версией архитектуры ARMv7-А (режим AArch32).

Режим AArch64 является принципиально новым решением с новым набором команд A64. Со временем, когда не нужно будет поддерживать унаследованные приложения, планируется отказаться от режима AArch32.

В архитектуре ARMv8 по сравнению с архитектурой ARMv7 более полно отражается идеология архитектуры RISC, созданной не для встроенных систем, а для решения классических задач счета и обработки данных. В архитектуре ARMv7 и в ее предшественниках изначально были заложены свойства, уходящие корнями в требования со стороны встроенных систем и диктующие необходимость специальным образом использовать регистры, чтобы успевать в реальном времени обрабатывать прерывания. Эти особенности не находят свое отражение в режиме AArch64, поэтому в архитектуре ARMv8 были совмещены обе системы команд. Набор команд режима AArch64 адаптирован к работе в одном из двух режимов в зависимости от операционной системы. Если установлена операционная система Linux или другие распространенные клоны UNIX, то выбирается режим LP64, где целые числа имеют длину 32 разряда и длинные целые — 64 разряда, а если операционная система Windows, то режим LLP64, где целые и длинные целые имеют длину 32 разряда, а очень длинные целые (long long integers) — 64 разряда.

В режиме AArch64 используется новый набор команд А64 с 32-разрядными командами и 5-разрядными указателями регистров для доступа к 32/64/128-разрядным регистрам. При выполнении большинства команд доступен выделенный нулевой регистр. Указатель стека и счетчик команд не входят в группу регистров.

Новые команды поддерживают 32- и 64-разрядные данные. В наборе А64 отсутствует несколько команд загрузки или хранения произвольной длины. Поддержка архитектуры SIMD и операций с плавающей точкой схожи с поддержкой предыдущей версией архитектуры – ARMv7А.

В архитектуре ARMv8 используются четыре иерархических уровня привилегий (EL0-EL3). Уровень EL3 поддерживает технологию TrustZone. Эта система поддерживает множество 32- и 64-разрядных конфигураций безопасной виртуализации.

Рис. 20.8

 

В архитектуре появился режим Embedded Trace Mode 4 (ETM4), который расширяет адреса до 64 разрядов. Он позволяет выявить «промежуточные этапы» выполнения команд, что эффективнее, чем предоставление информации об адресах.

Аппаратная поддержка криптографии, способна ускорить процессы, использующие шифрование, в десятки раз.

Архитектура ARMv8 сохраняет и приумножает ключевые функции своей предшественницы, такие, как TrustZone, SIMD-команды NEON и виртуализация, которые позволяют устанавливать на мобильные платформы гипервизоры виртуальных машин, обеспечивающие работу нескольких гостевых операционных систем.

Cortex-A53 и Cortex-A57 были первыми процессорами, в которых реализована архитектура ARMv8-A. Они имеют общую систему команд, почти неразличимы для приложений, но процессор Cortex-A57 быстрее и потребляет больше энергии. Наличие такой пары процессоров (рис. 21.8) позволяет устройству иметь два набора процессоров и в нужный момент переключаться на тот, который точнее соответствует текущей нагрузке.

 

 

Рис. 21. 8. Процессоры ARM 50-й серии

 

Условно процессор Cortex-A57 можно представить как процессор Cortex-A15 с 64-разрядной архитектурой, а процессор Cortex-A53 – как процессор Cortex-A7 с 64-разрядной архитектурой. Эти процессоры даже при выполнении программ для 32-разрядной архитектуры ARMv7-А на 20–30% быстрее предшественников.

Специально для встроенных систем будет создана сокращенная 32-разрядная версия архитектуры ARMv8-R.

 

Выводы

 

В архитектуре ARMv8 реализованы 2 режима Aarch32 (32-разрядный ARMv7 и 64-разрядный режим AArch64.

Основные особенности 64-разрядного режима AArch64:

Новый набор команд A64.

31 64-разрядный регистр общего назначения.

Отдельные регистры SP и PC.

Команды 32-разрядные и многие совпадают с командами архитектуры ARMv7.

Большинство команд работают как с 32-, так и с 64-разрядными аргументами.

Адреса 64-разрядные.

Реализовано расширение NEON.

С 16 до 32 увеличено количество 128-разрядных регистров, доступных через сопроцессоры NEON, VFPv4, криптокоманды AES, SHA.

Поддерживаются вычисления с числами с плавающей точкой двойной точности. Полная совместимость со стандартом обработки чисел с плавающей точкой IEEE 754.

Новая система исключений.

 

 








Дата добавления: 2015-09-29; просмотров: 3368;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.008 сек.