This course aims to highlight the new features offered by the V8 architecture.
It has been developed for engineers developing low level software.
First, an overview of Cortex-A53 is provided, to highlight the differences between a Cortex-A15/Cortex-A7 hardware platform based on CCI-400 and a Cortex-A57/Cortex-A53 hardware platform based on CCN-504.
The new exception mechanism is described.
The enhancements regarding the LPAE are detailed.
New A64 assembler instructions are explained through practical examples.
The AAPCS64 is also covered.
The course also details the new debug ARM V8 features.
Cortex-A53 hardware implementation is explained, particularly the low power states.
Knowledge of ARM Architecture V7 is mandatory, particularly the LPAE.
Memory interface that implements either an ACE or CHI interface
Coherent interface, studying examples of hardware coherency within a Cluster and between Clusters
SoC architecture based on CCN-504 interconnect
Cours théorique
Support de cours au format PDF (en anglais) et une version imprimée lors des sessions en présentiel
Cours dispensé via le système de visioconférence Teams (si à distance)
Le formateur répond aux questions des stagiaires en direct pendant la formation et fournit une assistance technique et pédagogique
Au début de chaque demi-journée une période est réservée à une interaction avec les stagiaires pour s'assurer que le cours répond à leurs attentes et l'adapter si nécessaire
Tout ingénieur ou technicien en systèmes embarqués possédant les prérequis ci-dessus.
Les prérequis indiqués ci-dessus sont évalués avant la formation par l'encadrement technique du stagiaire dans son entreprise, ou par le stagiaire lui-même dans le cas exceptionnel d'un stagiaire individuel.
Les progrès des stagiaires sont évalués par des quizz proposés en fin des sections pour vérifier que les stagiaires ont assimilé les points présentés
En fin de formation, une attestation et un certificat attestant que le stagiaire a suivi le cours avec succès.
En cas de problème dû à un manque de prérequis de la part du stagiaire, constaté lors de la formation, une formation différente ou complémentaire lui est proposée, en général pour conforter ses prérequis, en accord avec son responsable en entreprise le cas échéant.
Plan du cours
Enhancement with regard to AArchv7
Register mapping between A32/T32 and A64
Mapping of AArch64 System registers to the AArch32 System registers
Four exception levels
Exception Link Registers
Register banking by exception level based on a new exception model
Nesting on the same exception level
Exception type and exception origin
Syndrome registers used to provide a status information to the exception handler
Exception return instruction
Security model when EL3 is using AArch64
Trapping to EL3 using AArch64
Managing two types of processes: 64-bit and 32-bit, switching on an exception
Non secure space organization
The effect of implementing EL2 on the Exception model
Virtual interrupts
Superscalar operation
Predicted and non-predicted instructions
Branch accelerators
Invalidation and context switches
Synchronization and semaphores
Shareability memory attributes
Operation of the global monitor
Load acquire / Store release instruction pair
Use of WFE and SEV instructions by spin-locks
Mixed-endian support
Program counter and stack pointer alignment
Ordering requirements
Page attributes : Normal or Device
Shareability and access limitations on the data barrier operations
Memory barriers
LPAE enhancements to adapt to AArch64
Supporting up to 48 bits of VA per TTBR
Access permission checking
Supporting up to 48 bits of IPA and PA spaces
VMSAv8-64 address translation system
Memory translation granule size
Descriptor page table organization, descriptor format
Hierarchical control of Secure or Non-secure memory accesses
TLB preload instructions
TLB maintenance instructions in A64
Cortex-A53 TLB implementation
Cache hierarchy, Point of Unification, Point of Coherency
Load non temporal instruction
Instruction and Data cache maintenance instructions in A64
Cortex-A53 L1 and L2 memory system
A64 assembly language, regular bit encoding structure