WikiMini

AArch64

ARM AArch64 (64-bit)
Представлена 2011; 14 лет назад (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 (архитектура приложения)

[править | править код]
Платформа Armv8-A с процессором ARM Cortex-A53

Анонсированный в октябре 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].

Примечания

[править | править код]
  1. Overview. Learn the architecture: Understanding the Armv8.x and Armv9.x extensions.
  2. ARM Cortex-A57 MPCore Processor Technical Reference Manual. Arm Ltd..
  3. Cortex-A32 Processor – ARM. Дата обращения: 18 декабря 2016.
  4. ARM Discloses Technical Details Of The Next Version Of The ARM Architecture. Arm Holdings (27 октября 2011). Дата обращения: 20 сентября 2013. Архивировано 1 января 2019 года.
  5. Grisenthwaite, Richard. ARMv8-A Technology Preview (2011). Дата обращения: 31 октября 2011. Архивировано из оригинала 11 ноября 2011 года.
  6. ARM Launches Cortex-A50 Series, the World's Most Energy-Efficient 64-bit Processors (Press release). Arm Holdings. Дата обращения: 31 октября 2012.
  7. AppliedMicro Showcases World's First 64-bit ARM v8 Core (Press release). AppliedMicro. 28 октября 2011. Дата обращения: 11 февраля 2014.
  8. Samsung's Exynos 5433 is an A57/A53 ARM SoC. AnandTech. Дата обращения: 17 сентября 2014.
  9. ARM Cortex-A53 MPCore Processor Technical Reference Manual: Cryptography Extension. ARM. Дата обращения: 11 сентября 2016.
  10. 1 2 Impact of implemented Exception levels. Learn the architecture - AArch64 Exception Model. Arm.
  11. Cortex-A32. Arm Developer.
  12. Cortex-A34. Arm Developer.
  13. Cortex-A72. Arm Developer.
  14. Frumusanu, Andrei. ARM Announced Cortex-R82: First 64-bit Real Time Processor. AnandTech (3 сентября 2020).
  15. Arm Architecture Reference Manual Supplement - Armv8, for Armv8-R AArch64 architecture profile. Arm Ltd..