Anunciat l'octubre de 2011,ARMv8-A representa un canvi fonamental a l'arquitectura ARM. Afegeix una arquitectura opcional de 64 bits, anomenada "AArch64", i el nou conjunt d'instruccions "A64" associat. AArch64 proporciona compatibilitat ambl'espai d'usuari amb l'arquitectura de 32 bits existent ("AArch32" / ARMv7-A) i el conjunt d'instruccions ("A32"). El conjunt d'instruccions Thumb de 16-32 bits s'anomena "T32" i no té una contrapartida de 64 bits. ARMv8-A permet executar aplicacions de 32 bits en un sistema operatiu de 64 bits i un sistema operatiu de 32 bits sota el control d'unhipervisor de 64 bits.[2] ARM va anunciar els seus nuclisCortex-A53 iCortex-A57 el 30 d'octubre de 2012.Apple va ser la primera a llançar un nucli compatible amb ARMv8-A (Cyclone) en un producte de consum (iPhone 5S).AppliedMicro, utilitzant unaFPGA, va ser el primer a fer una demostració d'ARMv8-A. El primerSoC ARMv8-A deSamsung és l'Exynos 5433 utilitzat alGalaxy Note 4, que inclou dos grups de quatre nuclis Cortex-A57 i Cortex-A53 en ungran.PETIT configuració; però només s'executarà en mode AArch32.[3]
Tant per a AArch32 com per a AArch64, ARMv8-A fa que VFPv3/v4 i SIMD avançat (Neon) sigui estàndard. També afegeix instruccions de criptografia compatibles ambAES,SHA-1/SH-256 iaritmètica de camps finits.[4]
El desembre de 2014, ARMv8.1-A[5] es va anunciar una actualització amb "avantatges incrementals respecte a la v8.0". Les millores es divideixen en dues categories: canvis al conjunt d'instruccions i canvis al model d'excepció i la traducció de memòria.
Les millores del conjunt d'instruccions inclouen les següents:
Un conjunt d'instruccions de lectura-escriptura atòmiques AArch64.
Addicions al conjunt d'instruccions SIMD avançades tant per a AArch32 com per a AArch64 per habilitar oportunitats per a algunes optimitzacions de biblioteca:
Signat Saturació Arrodonit Doblar Multiplicar Acumular, retornant la meitat alta.
Signat Saturació Arrodonit Doblament Multiplicació Resta, retornant la meitat alta.
Les instruccions s'afegeixen en formes vectorials i escalars.
Un conjunt d'instruccions de càrrega i emmagatzematge AArch64 que poden proporcionar un ordre d'accés a la memòria limitat a regions d'adreces configurables.
Les instruccions CRC opcionals de la v8.0 esdevenen un requisit a ARMv8.1.
El gener de 2016, es va anunciar ARMv8.2-A.[6] Les seves millores es divideixen en quatre categories:
Processament de dades depunt flotant de mitja precisió opcional (la mitja precisió ja era compatible, però no per al processament, només com a format d'emmagatzematge).
L'octubre de 2016, es va anunciar ARMv8.3-A. Les seves millores es divideixen en sis categories:[7]
Autenticació de punter (només AArch64); extensió obligatòria (basada en un nou xifratge de blocs,QARMA) a l'arquitectura (els compiladors necessiten explotar la funció de seguretat, però com que les instruccions es troben a l'espai NOP, són compatibles cap enrere encara que no proporcionen seguretat addicional als xips més antics).
Virtualització imbricada (només AArch64)
Suport avançat denúmeros complexos SIMD (AArch64 i AArch32); per exemple, rotacions per múltiples de 90 graus.
Nova instrucció FJCVTZS (ConverteixJavaScript de coma flotant a punt fix signat, arrodonint cap a zero).
Un canvi al model de consistència de memòria (només AArch64); per donar suport al model RCpc (no predeterminat) més feble (processador coherent de llançament) deC++11/C11 (el model de coherència C++11/C11 per defecte ja era compatible amb l'ARMv8 anterior).
Suport del mecanisme d'identificació per a memòria cau més grans visibles al sistema (AArch64 i AArch32)
El setembre de 2018, es va anunciar ARMv8.5-A. Les seves millores van caure en aquestes categories:[11][12][13]
Extensió d'etiquetatge de memòria (MTE)
Indicadors d'objectiu de branca (BTI) per reduir "la capacitat d'un atacant per executar codi arbitrari",
Instruccions del generador de números aleatoris: "proporciona números aleatoris deterministes i veritables conformes a diversos estàndards nacionals i internacionals"