ARMv8-A and ARMv9-A 64-bit Architecture
Training
 

Training

Let MindShare Bring "ARMv8-A and ARMv9-A 64-bit Architecture" to Life for You

This course covers the 64-bit ARMv8-A architecture that follows on from and offers compatibility with the earlier ARMv7-A 32-bit architecture. Examples of processors that first implemented this 64-bit architecture are the ARM Cortex-A53 and Cortex A57 processors. Since the successful introduction of the ARMv8-A architecture and products, there have been several architectural enhancements. This course includes enhancements 8.1, 8.2, 8.3, 8.4, 8.5 and 8.6. This course also covers the additions in v9-A architecture. This course concentrates on the ISA – Instruction Set Architecture, rather than the details of individual implementations.

MindShare Related Courses On ARM Architecture:

Course Name
Classroom

Virtual Classroom

eLearning
ARMv8-A and ARMv9-A 64-bit Architecture
4 or 5 days

4 or 5 days

Show Me
ARMv7 32-bit Architecture
3 days

3 days

Show Me
ARMv8-M Architecture 
4 days

4 days
Notify Me When Available
ARM Architecture (with x86 comparisons)
4 days

4 days

Show Me
ARM Virtualization  
3 days

3 days
Notify Me When Available
Fundamentals of ARM Architecture
1 day

1 day

Show Me

All of MindShare's classroom and virtual classroom courses can be customized to fit the needs of your group.


ARM v8-A and ARMv9-A 64-bit Architecture Course Info

You Will Learn:

  • ARM architecture (ARMv8.x-A and ARMv9.x-A-A)
  • Support for execution of 32-bit ARMv7-A code
  • 64-bit ISA (registers, instruction set, system instructions, etc)
  • Floating point and Neon
  • Calling conventions
  • Memory model and paging
  • Exception and Interrupt handling, and the exception levels
  • Exception Level 2, intended for virtualization support
  • TrustZone overview (Secure monitor at Exception Level 3 plus secure world)
  • Power management
  • Debug

Note, v8A includes compatibility support for v7-A code execution. This support is covered, but not details of the v7-A architecture.

Course Length: 4 Days (5 days if 32-bit architecture background is needed)

Who Should Attend?

This course is aimed at software developers and system architects developing for systems powered by ARMv8-A processors such as Cortex-A53 and Cortex-A57 Processors. It is relevant for operating systems development, device drivers, low-level coding and for application software.

Course Outline:

  • Introduction to ARM 64-bit Architecture
  • ARM architecture profiles, what is v8-A and the other architecture profiles
  • ARM architecture extensions to v8-A, the v8.1A, v8.2-A, etc and v9-A
  • v8-A introduction and rational
  • Support for v7 legacy code
    • AArch32 and AArch64 state
    • v7 instruction set changes
      • Deprecation
      • Additional features (some new 64-bit features have also been added as new features available to 32-bit execution)
  • 64-bit platform architecture overview
    • Sample SoC
    • MP Core
    • Interconnect (ACE or CHI)
      • Coherency and the interconnect
    • Distributed interrupt controller
    • Role of firmware
    • Booting
  • A64 ISA
  • Integer registers
  • Instruction set
    • Integer operations
    • Memory operations
    • Stack
    • System instructions
      • System control registers
      • Relationship to v7 support and co-processors
    • Calling conventions
    • Memory access (DRAM and device)
      • Ordering model
      • Barriers
        • dmb, dsb, isb
        • load-acquire and store-release
        • Domains
      • Semaphores
      • Cache management
    • Floating point, advanced SIMD, crypto
      • Registers and instructions
    • Exception levels
      • The 4 exception levels
      • Stack model, handler and thread
      • Vector table
      • Core implementation choices
      • Switching AArch32 and AArch64 state
    • Exception and interrupt handling
      • Control of delivery of exceptions and interrupts
      • Syndrome registers
      • Switching exception levels
      • Return from exception
    • Paging
      • Memory management with page tables
      • 4K, 16K and 64K granules
      • Page sizes
      • Features achieved with page tables, such as execute never
      • Address space trickery – fields in pointers that are not part of the address, such as tags and pointer authentication
      • TLB management
  • EL2 Overview
    • Processor features intended for virtualization
    • Use of exception levels
    • Memory management
      • Second level page tables
      • Memory partitioning
      • I/O MMU (SMMU)
    • The use of EL2 for UEFI execution during boot
    • Addition of Secure EL2 to the architecture
  • Caches
    • Hardware cache coherency
    • Software responsibilities
    • Cache control in software
  • Security (TrustZone)
    • TrustZone functionality
    • Secure memory
    • Links to TrustZone in other architectures
    • 32-bit or 64-bit TrustZone
    • Implications on exception levels, and the addition of secure EL2
    • Switching bitness of TrustZone
    • Dynamic TrustZone, also called Realms, part of ARM’s Confidential Compute Architecture
  • Other topics
    • Core power management, external power controller
      • Power modes (dormant, shutdown)
      • WFI, WFE, SEV
    • Debug (hardware and software based debug)
    • RAS – Reliability, Availability, Serviceability
    • Boot process

Recommended Prerequisites:

Knowledge of ARM 32-bit v7 Architecture and general computer architecture.

Supplied Materials:

Students will be provided with an electronic version of the slides used in class.