spo600:armv8
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
spo600:armv8 [2024/01/12 21:38] – chris | spo600:armv8 [2025/02/19 16:27] (current) – [ARMv8 on Non-Server Devices] chris | ||
---|---|---|---|
Line 2: | Line 2: | ||
There are a few different terms swirling around the 64-bit ARM space. This page distinguishes between some of these terms and concepts. | There are a few different terms swirling around the 64-bit ARM space. This page distinguishes between some of these terms and concepts. | ||
+ | |||
+ | ===== ARMv9 ===== | ||
+ | |||
+ | ARM architecture version 9 -- known as ARMv9 -- was introduced on March 30, 2021. It is an evoltionary advancement of the ARMv8 architecture. As with ARMv8, the most powerful profile in the architecture is the Application profile, designated as ARMv9-a. | ||
+ | |||
+ | Two notable change in ARMv9-a over ARMv8-a are: | ||
+ | - The aarch32 execution mode is optional and only supported at Exception Level 0 (EL0), meaning that it is may be available for applications but is not available for operating systems or hypervisors. | ||
+ | - Scalable Vector Extensions version 2 (SVE2) capability is a required feature. | ||
===== ARMv8 ===== | ===== ARMv8 ===== | ||
- | ARM architecture version 8 -- known as ARMv8 -- was introduced in ~2012 and is just starting | + | ARM architecture version 8 -- known as ARMv8 -- was introduced in ~2012 and started |
ARMv8 has two execution states which support three [[Instruction Set Architecture|Instruction Set Architectures]]: | ARMv8 has two execution states which support three [[Instruction Set Architecture|Instruction Set Architectures]]: | ||
Line 26: | Line 34: | ||
* Armv8-M - // Microcontroller// | * Armv8-M - // Microcontroller// | ||
+ | The same profiles are available in the ARMv9 architecture. | ||
===== AArch32 and AArch64 Support on ARMv8 in Linux ===== | ===== AArch32 and AArch64 Support on ARMv8 in Linux ===== | ||
Line 36: | Line 45: | ||
The value of supporting AArch32 binaries on ARMv8 is controversial. The argument **for** supporting them is for maximum backward-compatibility; | The value of supporting AArch32 binaries on ARMv8 is controversial. The argument **for** supporting them is for maximum backward-compatibility; | ||
- | ===== Boot Systems for ARMv8 in Linux ===== | + | ===== Boot Systems for ARMv8/ |
==== Historical Situation | ==== Historical Situation | ||
Line 62: | Line 71: | ||
==== ARMv8 on Non-Server Devices | ==== ARMv8 on Non-Server Devices | ||
- | It remains to be seen what situation will develop on non-server | + | It remains to be seen what situation will develop on non-server |
* Cellphones, tablets, and fixed-function devices (SAN, NAS, Routers) | * Cellphones, tablets, and fixed-function devices (SAN, NAS, Routers) | ||
* Development boards / hackable devices | * Development boards / hackable devices |
spo600/armv8.1705095496.txt.gz · Last modified: 2024/04/16 18:10 (external edit)