- 64 bits
- v8.0 ( onwards)
- It is used in Mobile Chipset, M1 in laptop
- It was introduced in 2011. It also provides the backward compatibility as Aarch32
Qualcomm X Elite ( This is a core)
: This one is based on ARMv8.0 Cortex-A Series
Both for Desktop and Data Center
Microsoft Insight : ARM cortex-A based server
Used in Azure
- Previously in early 2000, only chip makers wrote the code.
- Each ELx, has its address Translation.
- EL0 Applications : User Process created using Linux Commands,
cat, ls, pwd
π£
- It saves forms the Foundation of Cloud Computing
- It saves from attackting all the website
- EL1 switches the context among multiple processes
- EL2 switches the context among mulitple HLOS
- EL3 switches the context between 2 worlds i.e. NS & S.
- π ELx limits your ISA access π‘
- π S (
trustzone
) & NS limit your hardware access π¬ - π’ You can't even take the Screenshot of Amazon Prime or Netflix video as there are present in Secure Memory area
- π’ We keep sensitive data in S EL0 as chip manufactor does not know how many such data like ( fringer print sensor ) will be there. So EL3 has limited memory with limited feature.
- π§· EL3 --
vendor-specific
code - π§· EL1/ EL0 -
OEM specific
code -- Not high features -- only secure apps
Programmers Model
- π Exception Model ( IRQ, FIQ)
- π Memory Model
- π Debug Model
- π ISA
Peripherals are also important
- MMU, GIC, Timers, Caches, Synchronization, Interconnect ( Coherent{AXI,ACE} & Non-coherent )
3 Important Documents of ARM
- ARM Cortex A Reference Manual { It explains about
Architecture
} - ARM A-55( A-78) TRM { It explains about
micro architecture
i.e. how the core should behave } - ARM A-Series PG ( Programmers Guide) { It contains how to write code as a Programmer }
-
For the SW doc
-
Most of the part is generic
-
ARM allows OEM to have their own instructions
- Need to change to compilers to support new instructions
- Qualcomm X Elite
- Apple M1 β These are micro-architecture
-
Here in Chapter 3, they define what they are, but not why they are
- π Exception Level : EL0, EL1, EL2, EL3
- π Exception States : S, NS
- π Execution Mode : 64 bits (Aarch64), 32 bits( Aarch32)
All these are controlled by registers. Some special instruction which works on Special Registers to govern the flow. These all defined the processor state.
Due to hypervisor, we have IPA( Intermediate PA)
[CPU] ---- VA---->
[HYP] ----IPA--->
[MMU] ---- PA--->
π We enforce the out-of-order execution behavior based on barrier { for critical sections
}
Bus Protocol & Cache Coherent Interconnect
- ACE, AXI
π‘ There are 2 types of cluster
- Homo-geneious cluster
- Hetero-geneious cluster { Based on big.Little Technology }
π Debug
- Pause the CPU
- go and check the different registers and memory
π Fast Model
- Software Block Model { It includes ETM, CTI }