AArch64 or ARM64 is the 64-bit Execution state of the ARM architecture family. It was first introduced with the Armv8-A architecture, and has had many extension updates.[1]
AES encrypt/decrypt and SHA-1/SHA-2 hashing instructions also use these registers.
A new exception system:
Fewer banked registers and modes.
Memory translation from 48-bit virtual addresses based on the existing Large Physical Address Extension (LPAE), which was designed to be easily extended to 64-bit.
Extension: Data gathering hint (ARMv8.0-DGH).
AArch64 was introduced in ARMv8-A and is included in subsequent versions of ARMv8-A. It was also introduced in ARMv8-R as an option, after its introduction in ARMv8-A; it is not included in ARMv8-M.
Instruction formats
The main opcode for selecting which group an A64 instruction belongs to is at bits 25–28.
Announced in October 2011,[3]ARMv8-A represents a fundamental change to the ARM architecture. It adds an optional 64-bit Execution state, named "AArch64", and the associated new "A64" instruction set, in addition to a 32-bit Execution state, "AArch32", supporting the 32-bit "A32" (original 32-bit Arm) and "T32" (Thumb/Thumb-2) instruction sets. The latter instruction sets provide user-space compatibility with the existing 32-bit ARMv7-A architecture. ARMv8-A allows 32-bit applications to be executed in a 64-bit OS, and a 32-bit OS to be under the control of a 64-bit hypervisor.[4] ARM announced their Cortex-A53 and Cortex-A57 cores on 30 October 2012.[5]Apple was the first to release an ARMv8-A compatible core (Cyclone) in a consumer product (iPhone 5S). AppliedMicro, using an FPGA, was the first to demo ARMv8-A.[6] The first ARMv8-A SoC from Samsung is the Exynos 5433 used in the Galaxy Note 4, which features two clusters of four Cortex-A57 and Cortex-A53 cores in a big.LITTLE configuration; but it will run only in AArch32 mode.[7]
ARMv8-A includes the VFPv3/v4 and advanced SIMD (Neon) as standard features in both AArch32 and AArch64. It also adds cryptography instructions supporting AES, SHA-1/SHA-256 and finite field arithmetic.[8]
An ARMv8-A processor can support one or both of AArch32 and AArch64; it may support AArch32 and AArch64 at lower Exception levels and only AArch64 at higher Exception levels.[9] For example, the ARM Cortex-A32 supports only AArch32,[10] the ARM Cortex-A34 supports only AArch64,[11] and the ARM Cortex-A72 supports both AArch64 and AArch32.[12] An ARMv9-A processor must support AArch64 at all Exception levels, and may support AArch32 at EL0.[9]
ARMv8.1-A
In December 2014, ARMv8.1-A,[13] an update with "incremental benefits over v8.0", was announced. The enhancements fell into two categories: changes to the instruction set, and changes to the exception model and memory translation.
Instruction set enhancements included the following:
A set of AArch64 atomic read-write instructions.
Additions to the Advanced SIMD instruction set for both AArch32 and AArch64 to enable opportunities for some library optimizations:
Signed Saturating Rounding Doubling Multiply Accumulate, Returning High Half.
Signed Saturating Rounding Doubling Multiply Subtract, Returning High Half.
The instructions are added in vector and scalar forms.
A set of AArch64 load and store instructions that can provide memory access order that is limited to configurable address regions.
The optional CRC instructions in v8.0 become a requirement in ARMv8.1.
Enhancements for the exception model and memory translation system included the following:
A new Privileged Access Never (PAN) state bit provides control that prevents privileged access to user data unless explicitly enabled.
An increased VMID range for virtualization; supports a larger number of virtual machines.
Optional support for hardware update of the page table access flag, and the standardization of an optional, hardware updated, dirty bit mechanism.
The Virtualization Host Extensions (VHE). These enhancements improve the performance of Type 2 hypervisors by reducing the software overhead associated when transitioning between the Host and Guest operating systems. The extensions allow the Host OS to execute at EL2, as opposed to EL1, without substantial modification.
A mechanism to free up some translation table bits for operating system use, where the hardware support is not needed by the OS.
The Scalable Vector Extension (SVE) is "an optional extension to the ARMv8.2-A architecture and newer" developed specifically for vectorization of high-performance computing scientific workloads.[16][17] The specification allows for variable vector lengths to be implemented from 128 to 2048 bits. The extension is complementary to, and does not replace, the NEON extensions.
A 512-bit SVE variant has already been implemented on the Fugaku supercomputer using the Fujitsu A64FX ARM processor; this computer[18] was the fastest supercomputer in the world for two years, from June 2020[19] to May 2022.[20] A more flexible version, 2x256 SVE, was implemented by the AWS Graviton3 ARM processor.
SVE is supported by the GCC compiler, with GCC 8 supporting automatic vectorization[17] and GCC 10 supporting C intrinsics. As of July 2020[update], LLVM and clang support C and IR intrinsics. ARM's own fork of LLVM supports auto-vectorization.[21]
ARMv8.3-A
In October 2016, ARMv8.3-A was announced. Its enhancements fell into six categories:[22]
Pointer authentication[23] (AArch64 only); mandatory extension (based on a new block cipher, QARMA[24]) to the architecture (compilers need to exploit the security feature, but as the instructions are in NOP space, they are backwards compatible albeit providing no extra security on older chips).
Nested virtualization (AArch64 only).
Advanced SIMD complex number support (AArch64 and AArch32); e.g. rotations by multiples of 90 degrees.
New FJCVTZS (Floating-point JavaScript Convert to Signed fixed-point, rounding toward Zero) instruction.[25]
A change to the memory consistency model (AArch64 only); to support the (non-default) weaker RCpc (Release Consistent processor consistent) model of C++11/C11 (the default C++11/C11 consistency model was already supported in previous ARMv8).
ID mechanism support for larger system-visible caches (AArch64 and AArch32).
ARMv8.3-A architecture is now supported by (at least) the GCC 7 compiler.[26]
ARMv8.4-A
In November 2017, ARMv8.4-A was announced. Its enhancements fell into these categories:[27][28][29]
Branch Target Indicators (BTI) (AArch64) to reduce "the ability of an attacker to execute arbitrary code". Like pointer authentication, the relevant instructions are no-ops on earlier versions of ARMv8-A.
Random Number Generator instructions – "providing Deterministic and True Random Numbers conforming to various National and International Standards".
On 2 August 2019, Google announced Android would adopt Memory Tagging Extension (MTE).[34]
In March 2021, ARMv9-A was announced. ARMv9-A's baseline is all the features from ARMv8.5.[35][36][37] ARMv9-A also adds:
Scalable Vector Extension 2 (SVE2). SVE2 builds on SVE's scalable vectorization for increased fine-grain Data Level Parallelism (DLP), to allow more work done per instruction. SVE2 aims to bring these benefits to a wider range of software including DSP and multimedia SIMD code that currently use Neon.[38] The LLVM/Clang 9.0 and GCC 10.0 development codes were updated to support SVE2.[38][39]
SIMD matrix manipulation instructions, BFDOT, BFMMLA, BFMLAL and BFCVT.
Enhancements for virtualization, system management and security.
And the following extensions (that LLVM 11 already added support for[43]):
Enhanced Counter Virtualization (ARMv8.6-ECV).
Fine-Grained Traps (ARMv8.6-FGT).
Activity Monitors virtualization (ARMv8.6-AMU).
For example, fine-grained traps, Wait-for-Event (WFE) instructions, EnhancedPAC2 and FPAC. The bfloat16 extensions for SVE and Neon are mainly for deep learning use.[44]
ARMv8.7-A and ARMv9.2-A
In September 2020, ARMv8.7-A was announced. Its enhancements fell into these categories:[30][45]
Scalable Matrix Extension (SME)(ARMv9.2 only).[46] SME adds new features to process matrices efficiently, such as:
Matrix tile storage.
On-the-fly matrix transposition.
Load/store/insert/extract tile vectors.
Matrix outer product of SVE vectors.
"Streaming mode" SVE.
Enhanced support for PCIe hot plug (AArch64).
Atomic 64-byte load and stores to accelerators (AArch64).
Wait For Instruction (WFI) and Wait For Event (WFE) with timeout (AArch64).
Branch-Record recording (ARMv9.2 only).
Call Stack Recorder
ARMv8.8-A and ARMv9.3-A
In September 2021, ARMv8.8-A and ARMv9.3-A were announced. Their enhancements fell into these categories:[30][47]
Non-maskable interrupts (AArch64).
Instructions to optimize memcpy() and memset() style operations (AArch64).
In September 2022, ARMv8.9-A and ARMv9.4-A were announced, including:[49]
Virtual Memory System Architecture (VMSA) enhancements.
Permission indirection and overlays.
Translation hardening.
128-bit translation tables (ARMv9 only).
Scalable Matrix Extension 2 (SME2) (ARMv9 only).
Multi-vector instructions.
Multi-vector predicates.
2b/4b weight compression.
1b binary networks.
Range Prefetch.
Guarded Control Stack (GCS) (ARMv9 only).
Confidential Computing.
Memory Encryption Contexts.
Device Assignment.
ARMv9.5-A
In October 2023, ARMv9.5-A was announced, including:[50]
FP8 support (E5M2 and E4M3 formats) added to:
SME2
SVE2
Advanced SIMD (Neon)
Live migration of Virtual Machines using Hardware Dirty state tracking structures (FEAT_HDBSS)
Checked Point Arithmetic
Support for using a combination of the PC and SP as the modifier when generating or checking Pointer Authentication codes.
Support for Realm Management Extension (RME) enabled designs, support for non-secure only in the Granule Protection Tables and the ability to disable certain Physical Address Spaces (PAS).
EL3 configuration write-traps.
Breakpoint support for address range and mismatch triggering without the need for linking.
Support for efficiently delegating SErrors from EL3 to EL2 or EL1.
ARMv9.6-A
In October 2024, ARMv9.6-A was announced, including:[51]
Improved SME efficiency with structured sparsity and quarter tile operations
MPAM Domains to better support shared-memory computer systems on multi-chiplet and multi-chip systems
Hypervisor memory control for Trace and Statistical Profiling on virtual machines
Improved Caching and Data Placement
Granular Data Isolation for Confidential Compute
Bitwise locking of EL1 system registers
Improved scaling of Granular Protection Tables (GPT) for large memory systems
New SVE instructions for expand/compact and finding first/last active element
Additional unprivileged load and store instructions to enable OS to interact with application memory
New compare and branch instruction
Injection of Undefined-Instruction exceptions from EL3
ARM-R (real-time architecture)
This section needs expansion with: examples and additional citations. You can help by adding to it. Relevant discussion may be found on Talk:AArch64.(May 2021)
The ARM-R architecture, specifically the Armv8-R profile, is designed to address the needs of real-time applications, where predictable and deterministic behavior is essential. This profile focuses on delivering high performance, reliability, and efficiency in embedded systems where real-time constraints are critical.
With the introduction of optional AArch64 support in the Armv8-R profile, the real-time capabilities have been further enhanced. The Cortex-R82[52] is the first processor to implement this extended support, bringing several new features and improvements to the real-time domain.[53]
Key Features of Armv8-R with AArch64 Support
AArch64 Instruction Set (A64):
The A64 instruction[25] set in the Cortex-R82 provides 64-bit data handling and operations, which improves performance for certain computational tasks and enhances overall system efficiency.[52]
Example Instruction: ADD X0, X1, X2 adds the values in 64-bit registers X1 and X2 and stores the result in X0. This 64-bit operation allows for larger and more complex calculations compared to the 32-bit operations of the previous A32 instruction set.
Enhanced Memory Management:
Memory Barrier Instructions: The Cortex-R82 introduces improved memory barrier instructions to ensure proper ordering of memory operations, which is critical in real-time systems where the timing of memory operations must be strictly controlled.[54]
Data Synchronization Barrier (DSB): Ensures that all data accesses before the barrier are completed before continuing with subsequent operations.
Data Memory Barrier (DMB): Guarantees that all memory accesses before the barrier are completed before any memory accesses after the barrier can proceed.
Example: In a real-time automotive control system, DSB might be used to ensure that sensor data is fully written to memory before the system proceeds with processing or decision-making, preventing data corruption or inconsistencies.
Improved Address Space:
64-bit Addressing: AArch64 allows the Cortex-R82 to address a much larger memory space compared to its 32-bit predecessors, making it suitable for applications requiring extensive memory.
Example: A complex industrial automation system can utilize the expanded address space to manage large data sets and buffers more efficiently, improving system performance and capability.
Real-Time Performance Enhancements:
Interrupt Handling: With AArch64 support, the Cortex-R82 can handle interrupts with lower latency and improved predictability, crucial for real-time operations.
Example: In a robotics application, the Cortex-R82's enhanced interrupt handling can ensure timely responses to external stimuli, such as changes in sensor data or control commands.
References
^"Overview". Learn the architecture: Understanding the Armv8.x and Armv9.x extensions.
^"GCC 7 Release Series – Changes, New Features, and Fixes". The ARMv8.3-A architecture is now supported. It can be used by specifying the -march=armv8.3-a option. [..] The option -msign-return-address= is supported to enable return address protection using ARMv8.3-A Pointer Authentication Extensions.
American politician (1935–2022) For the American psychologist, see Robert F. Krueger. Senator Krueger redirects here. For other uses, see Senator Krueger (disambiguation). Bob KruegerOfficial portrait, 1993United States Ambassador to Botswana In officeJuly 23, 1996 – December 6, 1999Nominated byBill ClintonPreceded byHoward JeterSucceeded byJohn E. LangeUnited States Ambassador to Burundi In officeJune 29, 1994 – September 10, 1995Nominated byBill ClintonPreceded byCyn...
Overview of the exploration of Saturn Artwork utilizing exploration data, as revealed in Sternstunden in Oberhausen The exploration of Saturn has been solely performed by crewless probes. Three missions were flybys, which formed an extended foundation of knowledge about the system. The Cassini–Huygens spacecraft, launched in 1997, was in orbit from 2004 to 2017.[1][2] Missions A list of previous and upcoming missions to the outer Solar System (including Saturn) can be found ...
Hengdian World StudiosLokasiDongyang, Zhejiang, TiongkokKoordinat29°10′45″N 120°17′53″E / 29.179068°N 120.298083°E / 29.179068; 120.298083TemaFilm Studios and Theme ParksPemilikHengdian GroupDibuka1996 (1996)Situs webwww.hengdianworld.com/en/StatusBeroperasi Hengdian World Studios (Hanzi: 横店影视城; Pinyin: Héngdiàn Yǐngshìchéng) adalah sebuah studio film yang terletak di Hengdian, sebuah kota di Dongyang, Provinsi Zhejiang. Tem...
German military aircraft in World War I CL.II German Halberstadt CL.II 14207/17 3 of Schlasta 2. Note fairing for radio generator Role Escort Fighter/Ground Attack AircraftType of aircraft Manufacturer Halberstädter Flugzeugwerke Designer Karl Theis First flight 1917 Introduction 1917 Primary user Imperial German Army Air Service Number built 900 The Halberstadt CL.II was a German two-seat escort fighter/ground attack aircraft of World War I. It served in large numbers with the German L...
Indonesian dramatist, poet, activist, performer, actor and director This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Willibrordus S. Rendra – news · newspapers · books · scholar · JSTOR (September 2009) (Learn how and when to remove this template message) W.S. RendraBornWillibrordus Surendra Broto Narendra(19...
Division of Porsche and Volkswagen Group India Porsche IndiaCompany typeDivision of Porsche & Volkswagen Group IndiaIndustryAutomotiveFounded2012; 12 years ago (2012)[citation needed]HeadquartersMumbai, Maharashtra, IndiaProductsLuxury vehiclesParentPorscheWebsitePorsche.in Porsche India Pvt Ltd is a division of the German automobile manufacturer Porsche and the Volkswagen Group India. Founded in 2004, with headquarters in Mumbai. Porsche India currently imports ...
ХристианствоБиблия Ветхий Завет Новый Завет Евангелие Десять заповедей Нагорная проповедь Апокрифы Бог, Троица Бог Отец Иисус Христос Святой Дух История христианства Апостолы Хронология христианства Раннее христианство Гностическое христианство Вселенские соборы Н...
Tyron BejayTyron pada 2019Nama asalတိုင်ရွန်ဘီဂျေLahirWin Pyae Aung27 November 1993 (umur 30)Thanbyuzayat, Negara Bagian MonNama lainAh Win, TyronPendidikanUniversitas BagoPekerjaanPeraga busana • PemeranTahun aktif2014–kiniTinggi5 ft 9 in (1,75 m)Orang tuaWin Tint Thein Thein Myint Tyron Bejay (bahasa Burma: တိုင်ရွန်ဘီဂျေ, nama lahir Win Pyae Aung; lahir 27 November 1993) adalah seorang pemer...
Charter school in Roxbury, Massachusetts, United StatesRoxbury Charter High Public SchoolAddress18 Hulbert StreetRoxbury, MassachusettsUnited StatesCoordinates42°19′24.6″N 71°05′18″W / 42.323500°N 71.08833°W / 42.323500; -71.08833InformationTypeCharterEstablished2003Closed2006Websitewww.roxburycharterhigh.org Roxbury Charter High Public School was a secondary school located in Roxbury, Massachusetts, United States. The school first opened in 2003. It closed...
1994 single by Massive Attack SlySingle by Massive Attackfrom the album Protection Released17 October 1994 (1994-10-17)[1]GenreTrip hopLength 5:25 (album version) 4:56 (single edit) Label Wild Bunch Circa Songwriter(s) Andrew Vowles Robert Del Naja Grant Marshall Nellee Hooper Nicolette Suwoton Vivien Goldman Producer(s) Andrew Vowles Robert Del Naja Grant Marshall Nellee Hooper Massive Attack singles chronology Massive Attack (EP) (1992) Sly (1994) Protection (1995) Mu...
Overview of the various highway systems in several countries This article describes the highway systems available in selected countries. Albania Main article: Highways in Albania Map of Albanian motorways as of 2014. In Albania, major cities are linked with either new single/dual carriageways or well maintained state roads marked as SH (Rrugë Shtetërore). There is a dual carriageway connecting the port city of Durrës with Tirana, Vlorë, and partially Kukës. There are three official motor...
American software company Not to be confused with Synopsis (disambiguation). Synopsys, Inc.Former headquarters in Mountain View, CaliforniaCompany typePublicTraded asNasdaq: SNPSNasdaq-100 componentS&P 500 componentIndustry Integrated circuit Software as a service Software Testing Internet of Things Founded1986; 38 years ago (1986) in Research Triangle Park, North Carolina, U.S.FoundersAart de GeusDavid GregoryBill KriegerHeadquartersSunnyvale, California, U.S.Key p...
هذه المقالة بحاجة لصندوق معلومات. فضلًا ساعد في تحسين هذه المقالة بإضافة صندوق معلومات مخصص إليها. اللمفوما الجلدية الثانوية ضخمة الخلايا موجبة السي دي 30 هي حالة جلدية قد تنشأ في حالة الفطار الشبيه بالفطر ولدى مرضى كثرة الحطاطات اللمفومية.[1]:738 انظر أيضا لمفوما درقية ل�...
Conquering the WomanCuplikan dari film tersebutSutradaraKing VidorProduserKing VidorDitulis olehFrank Howard ClarkBerdasarkanKidnapping Coline olehHenry C. RowlandPemeranFlorence VidorSinematograferGeorge BarnesDistributorAssociated ExhibitorsTanggal rilis 10 Desember 1922 (1922-12-10) Durasi6 rolNegaraAmerika SerikatBahasaBisu (intertitel Inggris) Conquering the Woman adalah sebuah film drama bisu Amerika Serikat tahun 1922 garapan King Vidor.[1] Cetakan film tersebut disim...
Japanese officer, war criminal 1898–1947 Shigematsu SakaibaraSakaibara reads his final statement before being sentenced for ordering the Wake Island massacre (December 27, 1945)Born(1898-12-28)December 28, 1898Yamagata Prefecture, Empire of JapanDiedJune 19, 1947(1947-06-19) (aged 48)[1]Asan-Maina, GuamCause of deathExecution by hangingKnown forWake Island massacreCriminal statusExecutedConviction(s)War crimesCriminal penaltyDeathDetailsVictims98DateOctober 7, 1943Loc...
العلاقات الدومينيكانية الغرينادية جمهورية الدومينيكان غرينادا جمهورية الدومينيكان غرينادا تعديل مصدري - تعديل العلاقات الدومينيكانية الغرينادية هي العلاقات الثنائية التي تجمع بين جمهورية الدومينيكان وغرينادا.[1][2][3][4][5] مقارنة بين...
City in Yaroslavl Oblast, Russia For other places with the same name, see Yaroslavl (inhabited locality). For the Sakhalin Shipping Company's steamship, see SS Yaroslavl. City in Yaroslavl Oblast, RussiaYaroslavl ЯрославльCity[1]Clockwise, from top right: St. Alexander Nevsky's Chapel, St. John the Baptist's Church, Strelka Park from Volga Embankment, Znamenskaya Tower, Volkov Theater, St. Elijah the Prophet's Church FlagCoat of armsLocation of Yaroslavl YaroslavlLocation of ...
Considering environment in developing land This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages) The examples and perspective in this article deal primarily with Australia and do not represent a worldwide view of the subject. You may improve this article, discuss the issue on the talk page, or create a new article, as appropriate. (August 2013) (Learn how and when to remove this message) This article's ...