stringtranslate.com

AArch64

AArch64 o ARM64 es la extensión de 64 bits de la familia de arquitectura ARM .

Plataforma Armv8-A con chip de CPU Cortex-A57 / A53 MPCore big.LITTLE

Se introdujo por primera vez con la arquitectura Armv8-A . Arm lanza una nueva extensión cada año. [1]

Extensiones y características de ARMv8.x y ARMv9.x

Anunciado en octubre de 2011, [2] ARMv8-A representa un cambio fundamental en la arquitectura ARM. Agrega una arquitectura opcional de 64 bits, denominada "AArch64", y el nuevo conjunto de instrucciones asociado "A64". AArch64 proporciona compatibilidad de espacio de usuario con la arquitectura de 32 bits existente ("AArch32" / ARMv7-A) y el conjunto de instrucciones ("A32"). El conjunto de instrucciones Thumb de 16-32 bits se denomina "T32" y no tiene contraparte de 64 bits. ARMv8-A permite ejecutar aplicaciones de 32 bits en un sistema operativo de 64 bits y que un sistema operativo de 32 bits esté bajo el control de un hipervisor de 64 bits . [3] ARM anunció sus núcleos Cortex-A53 y Cortex-A57 el 30 de octubre de 2012. [4] Apple fue el primero en lanzar un núcleo compatible con ARMv8-A ( Cyclone ) en un producto de consumo ( iPhone 5S ). AppliedMicro , utilizando una FPGA , fue el primero en realizar una demostración de ARMv8-A. [5] El primer SoC ARMv8-A de Samsung es el Exynos 5433 utilizado en el Galaxy Note 4 , que presenta dos grupos de cuatro núcleos Cortex-A57 y Cortex-A53 en una configuración big.LITTLE ; pero se ejecutará sólo en modo AArch32. [6]

Tanto para AArch32 como para AArch64, ARMv8-A convierte VFPv3/v4 y el estándar SIMD (Neon) avanzado. También agrega instrucciones de criptografía que admiten AES , SHA-1 / SHA-256 y aritmética de campos finitos . [7]

Convenciones de nombres

Características de AArch64

Extensión: sugerencia de recopilación de datos (ARMv8.0-DGH)

AArch64 se introdujo en ARMv8-A y se incluye en versiones posteriores de ARMv8-A. También se introdujo en ARMv8-R como opción, tras su introducción en ARMv8-A; no está incluido en ARMv8-M.

Formatos de instrucción

El código de operación principal para seleccionar a qué grupo pertenece una instrucción A64 se encuentra en los bits 25-28.

ARMv8.1-A

En diciembre de 2014, se anunció ARMv8.1-A, [9] una actualización con "beneficios incrementales sobre v8.0". Las mejoras se dividieron en dos categorías: cambios en el conjunto de instrucciones y cambios en el modelo de excepción y traducción de memoria.

Las mejoras del conjunto de instrucciones incluyeron lo siguiente:

Las mejoras para el modelo de excepción y el sistema de traducción de memoria incluyeron lo siguiente:

ARMv8.2-A

En enero de 2016, se anunció ARMv8.2-A. [11] Sus mejoras se dividieron en cuatro categorías:

Extensión vectorial escalable (SVE)

Scalable Vector Extension (SVE) es "una extensión opcional de la arquitectura ARMv8.2-A y más reciente" desarrollada específicamente para la vectorización de cargas de trabajo científicas informáticas de alto rendimiento . [12] [13] La especificación permite implementar longitudes de vectores variables de 128 a 2048 bits. La extensión es complementaria y no reemplaza a las extensiones NEON .

Ya se ha implementado una variante SVE de 512 bits en la supercomputadora Fugaku utilizando el procesador Fujitsu A64FX ARM; esta computadora [14] fue la supercomputadora más rápida del mundo durante dos años, desde junio de 2020 [15] hasta mayo de 2022. [16] El procesador AWS Graviton3 ARM implementó una versión más flexible, 2x256 SVE .

SVE es compatible con el compilador GCC , siendo GCC 8 compatible con la vectorización automática [13] y GCC 10 compatible con intrínsecos de C. A partir de julio de 2020 , LLVM y clang admiten los elementos intrínsecos de C e IR. La propia bifurcación de ARM de LLVM admite la vectorización automática. [17]

ARMv8.3-A

En octubre de 2016, se anunció ARMv8.3-A. Sus mejoras se dividieron en seis categorías: [18]

La arquitectura ARMv8.3-A ahora es compatible con (al menos) el compilador GCC 7. [22]

ARMv8.4-A

En noviembre de 2017, se anunció ARMv8.4-A. Sus mejoras se clasifican en estas categorías: [23] [24] [25]

ARMv8.5-A y ARMv9.0-A

En septiembre de 2018, se anunció ARMv8.5-A. Sus mejoras se clasifican en estas categorías: [26] [27] [28]

El 2 de agosto de 2019, Google anunció que Android adoptaría Memory Tagging Extension (MTE). [30]

En marzo de 2021, se anunció ARMv9-A. La base de ARMv9-A son todas las características de ARMv8.5. [31] [32] [33] ARMv9-A también agrega:

ARMv8.6-A y ARMv9.1-A

En septiembre de 2019, se anunció ARMv8.6-A. Sus mejoras se clasifican en estas categorías: [26] [38]

Por ejemplo, trampas detalladas, instrucciones de espera de evento (WFE), EnhancedPAC2 y FPAC. Las extensiones bfloat16 para SVE y Neon son principalmente para uso de aprendizaje profundo. [40]

ARMv8.7-A y ARMv9.2-A

En septiembre de 2020, se anunció ARMv8.7-A. Sus mejoras se clasifican en estas categorías: [26] [41]

ARMv8.8-A y ARMv9.3-A

En septiembre de 2021, se anunciaron ARMv8.8-A y ARMv9.3-A. Sus mejoras se clasificaron en estas categorías: [26] [43]

LLVM 15 es compatible con ARMv8.8-A y ARMv9.3-A. [44]

ARMv8.9-A y ARMv9.4-A

En septiembre de 2022, se anunciaron ARMv8.9-A y ARMv9.4-A, que incluyen: [45]

Armv8-R (arquitectura en tiempo real)

Se agregó compatibilidad opcional con AArch64 al perfil Armv8-R, y el primer núcleo de Arm que lo implementó fue el Cortex-R82. [46] Agrega el conjunto de instrucciones A64, con algunos cambios en las instrucciones de barrera de memoria. [47]

Referencias

  1. ^ "Descripción general". Conozca la arquitectura: comprensión de las extensiones Armv8.x y Armv9.x .
  2. ^ "ARM revela detalles técnicos de la próxima versión de la arquitectura ARM" (Presione soltar). Portabrazos . 27 de octubre de 2011. Archivado desde el original el 1 de enero de 2019 . Consultado el 20 de septiembre de 2013 .
  3. ^ Grisenthwaite, Richard (2011). "Vista previa de la tecnología ARMv8-A" (PDF) . Archivado desde el original (PDF) el 11 de noviembre de 2011 . Consultado el 31 de octubre de 2011 .
  4. ^ "ARM lanza la serie Cortex-A50, los procesadores de 64 bits con mayor eficiencia energética del mundo" (Presione soltar). Portabrazos . Consultado el 31 de octubre de 2012 .
  5. ^ "AppliedMicro presenta el primer núcleo ARM v8 de 64 bits del mundo" (Presione soltar). Microaplicado. 28 de octubre de 2011 . Consultado el 11 de febrero de 2014 .
  6. ^ "El Exynos 5433 de Samsung es un SoC ARM A57/A53". AnandTech . Consultado el 17 de septiembre de 2014 .
  7. ^ "Manual de referencia técnica del procesador ARM Cortex-A53 MPCore: extensión de criptografía". BRAZO . Consultado el 11 de septiembre de 2016 .
  8. ^ "Procesador Cortex-A32 - ARM" . Consultado el 18 de diciembre de 2016 .
  9. ^ Brash, David (2 de diciembre de 2014). "La arquitectura ARMv8-A y su desarrollo continuo" . Consultado el 23 de enero de 2015 .
  10. ^ "Ignorar el byte superior (TBI)". WikiChip .
  11. ^ Brash, David (5 de enero de 2016). "Evolución de la arquitectura ARMv8-A" . Consultado el 7 de junio de 2016 .
  12. ^ "La extensión vectorial escalable sve para la arquitectura ARMv8 a". Comunidad de brazos . 22 de agosto de 2016 . Consultado el 8 de julio de 2018 .
  13. ^ ab "Serie de lanzamientos de GCC 8 - Cambios, nuevas funciones y correcciones - Proyecto GNU - Free Software Foundation (FSF)". gcc.gnu.org . Consultado el 9 de julio de 2018 .
  14. ^ "Fujitsu completa el prototipo de CPU de supercomputadora Post-K y comienza las pruebas de funcionalidad - Fujitsu Global". www.fujitsu.com (Comunicado de prensa) . Consultado el 8 de julio de 2018 .
  15. ^ "La japonesa Fugaku gana el título de supercomputadora más rápida del mundo" (Presione soltar). www.riken.jp. 23 de junio de 2020 . Consultado el 7 de diciembre de 2020 .
  16. ^ "La frontera de ORNL es la primera en romper el techo de exaflop". Top500 . 30 de mayo de 2022 . Consultado el 30 de mayo de 2022 .
  17. ^ "⚙ D71712 Implementación de SVE/SVE2 descendente (LLVM)". reseñas.llvm.org .
  18. ^ David Brash (26 de octubre de 2016). "Arquitectura ARMv8-A: adiciones de 2016".
  19. ^ "[Ping~,AArch64] Agregar soporte de línea de comandos para -march=armv8.3-a". La extensión de autenticación de puntero se define como una extensión obligatoria en ARMv8.3-A y no es opcional.
  20. ^ "Qualcomm publica un documento técnico que detalla la autenticación de puntero en ARMv8.3". 10 de enero de 2017.
  21. ^ "Instrucciones de punto flotante A64: FJCVTZS". arm.com . Consultado el 11 de julio de 2019 .
  22. ^ "Serie de lanzamientos de GCC 7: cambios, nuevas funciones y correcciones". Ahora se admite la arquitectura ARMv8.3-A. Se puede utilizar especificando la opción -march=armv8.3-a. [..] La opción -msign-return-address= se admite para habilitar la protección de la dirección de retorno mediante extensiones de autenticación de puntero ARMv8.3-A.
  23. ^ "Presentación de las extensiones de 2017 a Arm Architecture". comunidad.arm.com . 2 de noviembre de 2017 . Consultado el 15 de junio de 2019 .
  24. ^ "Explorando el aprendizaje automático de productos punto". comunidad.arm.com . 6 de diciembre de 2017 . Consultado el 15 de junio de 2019 .
  25. ^ "ARM prepara compatibilidad con ARMv8.4-A para el compilador GCC: Phoronix". www.phoronix.com . Consultado el 14 de enero de 2018 .
  26. ^ abcd "Extensiones y funciones ARMv8.x y ARMv9.x". Conozca la arquitectura: comprensión de las extensiones ARMv8.x y ARMv9.x .
  27. ^ "Anuncio de Arm Architecture ARMv8.5-A - Blog de procesadores - Procesadores - Comunidad Arm". comunidad.arm.com . Consultado el 26 de abril de 2019 .
  28. ^ "Manual de referencia de arquitectura Arm ARMv8, para perfil de arquitectura ARMv8-A". Desarrollador ARM . Consultado el 6 de agosto de 2019 .
  29. ^ "Arquitectura Arm MTE: mejora de la seguridad de la memoria". comunidad.arm.com . 5 de agosto de 2019 . Consultado el 27 de julio de 2021 .
  30. ^ "Adopción de la extensión Arm Memory Tagging en Android". Blog de seguridad en línea de Google . Consultado el 6 de agosto de 2019 .
  31. ^ "La solución de Arm para las necesidades futuras de inteligencia artificial, seguridad e informática especializada es la v9". Brazo | La Arquitectura para el Mundo Digital . Consultado el 27 de julio de 2021 .
  32. ^ Schor, David (30 de marzo de 2021). "Arm lanza ARMv9". Fusible WikiChip . Consultado el 27 de julio de 2021 .
  33. ^ Frumusanu, Andrei. "Arm anuncia la arquitectura ARMv9: SVE2, seguridad y la próxima década". www.anandtech.com . Consultado el 27 de julio de 2021 .
  34. ^ abc "Arm lanza SVE2 y TME para arquitectura de perfil A - Blog de procesadores - Procesadores - Comunidad Arm". comunidad.arm.com . 18 de abril de 2019 . Consultado el 25 de mayo de 2019 .
  35. ^ ab "Alineación de compatibilidad con Arm SVE2 para GCC 10, LLVM Clang 9.0 - Phoronix". www.phoronix.com . Consultado el 26 de mayo de 2019 .
  36. ^ "Desbloquear el poder de los datos con Arm CCA". comunidad.arm.com . 23 de junio de 2021 . Consultado el 27 de julio de 2021 .
  37. ^ "Arm presenta su arquitectura informática confidencial". Fusible WikiChip . 23 de junio de 2021 . Consultado el 27 de julio de 2021 .
  38. ^ "Actualización de la arquitectura del perfil Arm A 2019". comunidad.arm.com . 25 de septiembre de 2019 . Consultado el 26 de septiembre de 2019 .
  39. ^ "Notas de la versión LLVM 11.0.0". lanzamientos.llvm.org . Consultado el 11 de marzo de 2021 .
  40. ^ "Extensiones BFloat16 para ARMv8-A". comunidad.arm.com . 29 de agosto de 2019 . Consultado el 30 de agosto de 2019 .
  41. ^ Weidmann, Martin (21 de septiembre de 2020). "Desarrollos de arquitectura Arm A-Profile 2020". comunidad.arm.com . BRAZO . Consultado el 28 de septiembre de 2022 .
  42. ^ "Extensión de matriz escalable para la arquitectura ARMv9-A". comunidad.arm.com . 14 de julio de 2021 . Consultado el 27 de julio de 2021 .
  43. ^ Weidmann, Martin (8 de septiembre de 2021). "Desarrollos de arquitectura Arm A-Profile 2021". comunidad.arm.com . BRAZO . Consultado el 28 de septiembre de 2022 .
  44. ^ "¿Qué hay de nuevo en LLVM 15? - Blog de arquitecturas y procesadores - Blogs de Arm Community - Arm Community". 27 de febrero de 2023 . Consultado el 15 de abril de 2023 .
  45. ^ "Desarrollos de arquitectura Arm A-Profile 2022 - Blog de arquitecturas y procesadores - Blogs de Arm Community - Arm Community". comunidad.arm.com . 29 de septiembre de 2022 . Consultado el 9 de diciembre de 2022 .
  46. ^ Frumusanu, Andrei (3 de septiembre de 2020). "ARM anunció Cortex-R82: primer procesador en tiempo real de 64 bits". AnandTech .
  47. ^ "Suplemento del manual de referencia de arquitectura de Arm: Armv8, para el perfil de arquitectura Armv8-R AArch64". brazo ltd.