ARM AArch64 (64-bit) | |
---|---|
![]() | |
Представлена | 2011 |
Версии | ARMv8-A, ARMv8-R, ARMv9-A |
AArch64, также известная как ARM64, является 64-разрядной версией семейства архитектур ARM, широко используемого набора конструкций компьютерных процессоров. Он был представлен в 2011 году с архитектурой ARMv8 и позже стал частью серии ARMv9. AArch64 позволяет процессорам обрабатывать больше памяти и выполнять более быстрые вычисления, чем более ранние 32-разрядные версии. Он разработан для работы вместе со старым 32-разрядным режимом, известным как AArch32, что обеспечивает совместимость с широким спектром программного обеспечения. Устройства, использующие AArch64, включают смартфоны, планшеты, персональные компьютеры и серверы. Архитектура AArch64 продолжает развиваться за счет обновлений, которые улучшают производительность, безопасность и поддержку сложных вычислительных задач[1].
Ключевые характеристики
[править | править код]В ARMv8-A, ARMv8-R и ARMv9-A «Состояние выполнения» определяет ключевые характеристики среды процессора. Сюда входит количество бит, используемых в первичных регистрах процессора, поддерживаемые наборы инструкций и другие аспекты среды выполнения процессора. Эти версии архитектуры ARM поддерживают два состояния выполнения: 64-битное состояние AArch64 и 32-битное состояние AArch32[2].
Соглашения об именовании
[править | править код]- 64-бит:
- Состояние выполнения: AArch64
- Наборы инструкций: A64
- 32-бит:
- Состояние выполнения: AArch32
- Наборы инструкций: A32 + T32
- Пример: ARMv8-R, Cortex-A32[3].
ARM-A (архитектура приложения)
[править | править код]
Анонсированный в октябре 2011 года[4], ARMv8-A представляет собой фундаментальное изменение архитектуры ARM. Он добавляет необязательное 64-битное состояние выполнения, названное «AArch64», и связанный с ним новый набор инструкций «A64», в дополнение к 32-битному состоянию выполнения, «AArch32», поддерживающему 32-битные наборы инструкций «A32» (исходный 32-битный ARM) и «T32» (Thumb/Thumb-2). TПоследние наборы инструкций обеспечивают совместимость пользовательского пространства с существующей 32-битной архитектурой ARMv7-A. ARMv8-A позволяет выполнять 32-битные приложения в 64-битной ОС, а 32-битная ОС находится под контролем 64-битного гипервизора[5]. ARM анонсировала свои ядра Cortex-A53 и Cortex-A57 30 октября 2012 года[6]. Apple была первой, кто выпустил совместимое с ARMv8-A ядро (Cyclone) в потребительском продукте (iPhone 5S). AppliedMicro, использующая FPGA , была первой, кто продемонстрировал ARMv8-A[7]. Первая система на кристалле ARMv8-A от Samsung — это Exynos 5433, используемая в Galaxy Note 4, которая включает два кластера по четыре ядра Cortex-A57 и Cortex-A53 в конфигурации ARM big.LITTLE; но она будет работать только в режиме AArch32[8]. ARMv8-A включает VFPv3/v4 и расширенный SIMD (Neon) в качестве стандартных функций как в AArch32, так и в AArch64. Он также добавляет криптографические инструкции, поддерживающие AES, SHA-1/SHA-256 и арифметику конечных полей[9].
Процессор ARMv8-A может поддерживать один или оба AArch32 и AArch64; он может поддерживать AArch32 и AArch64 на более низких уровнях исключений и только AArch64 на более высоких уровнях исключений[10]. Например, ARM Cortex-A32 поддерживает только AArch32,[11] ARM Cortex-A34 поддерживает только AArch64,[12] а ARM Cortex-A72 поддерживает как AArch64, так и AArch32[13]. Процессор ARMv9-A должен поддерживать AArch64 на всех уровнях исключений и может поддерживать AArch32 на уровне EL0[10].
ARM-R (архитектура реального времени)
[править | править код]Архитектура ARM-R, в частности профиль Armv8-R, разработана для удовлетворения потребностей приложений реального времени, где предсказуемое и детерминированное поведение имеет важное значение. Этот профиль фокусируется на обеспечении высокой производительности, надежности и эффективности во встраиваемых системах, где ограничения реального времени имеют решающее значение.
С введением дополнительной поддержки AArch64 в профиле Armv8-R возможности реального времени были дополнительно улучшены. Cortex-R82[14] является первым процессором, реализующим эту расширенную поддержку, привнося несколько новых функций и улучшений в область реального времени[15].
Примечания
[править | править код]- ↑ Overview . Learn the architecture: Understanding the Armv8.x and Armv9.x extensions.
- ↑ ARM Cortex-A57 MPCore Processor Technical Reference Manual . Arm Ltd..
- ↑ Cortex-A32 Processor – ARM . Дата обращения: 18 декабря 2016.
- ↑ ARM Discloses Technical Details Of The Next Version Of The ARM Architecture . Arm Holdings (27 октября 2011). Дата обращения: 20 сентября 2013. Архивировано 1 января 2019 года.
- ↑ Grisenthwaite, Richard. ARMv8-A Technology Preview (2011). Дата обращения: 31 октября 2011. Архивировано из оригинала 11 ноября 2011 года.
- ↑ ARM Launches Cortex-A50 Series, the World's Most Energy-Efficient 64-bit Processors (Press release). Arm Holdings. Дата обращения: 31 октября 2012.
- ↑ AppliedMicro Showcases World's First 64-bit ARM v8 Core (Press release). AppliedMicro. 28 октября 2011. Дата обращения: 11 февраля 2014.
- ↑ Samsung's Exynos 5433 is an A57/A53 ARM SoC . AnandTech. Дата обращения: 17 сентября 2014.
- ↑ ARM Cortex-A53 MPCore Processor Technical Reference Manual: Cryptography Extension . ARM. Дата обращения: 11 сентября 2016.
- ↑ 1 2 Impact of implemented Exception levels . Learn the architecture - AArch64 Exception Model. Arm.
- ↑ Cortex-A32 . Arm Developer.
- ↑ Cortex-A34 . Arm Developer.
- ↑ Cortex-A72 . Arm Developer.
- ↑ Frumusanu, Andrei. ARM Announced Cortex-R82: First 64-bit Real Time Processor . AnandTech (3 сентября 2020).
- ↑ Arm Architecture Reference Manual Supplement - Armv8, for Armv8-R AArch64 architecture profile . Arm Ltd..