ac6-training, un département d'Ac6 SAS
 
Site affiché en Français
Site affiché en FrançaisVoir le site en English (USA)Voir le site en English (GB)
+ +
- -
Cours en ligne
 
Calendrier  Détails
Systèmes d'Exploitation
 
Calendrier  Détails
Programmation
Calendrier  Détails
Processors
 
Calendrier  Détails
Communications
 
 
 
Calendrier  Détails
+ +
> >
- -

ac6 >> ac6-training >> Processors >> ARM Cores >> Cortex-A9 implementation Télécharger la page Ecrivez nous

RA2 Cortex-A9 implementation

This course covers both Cortex-A9 single and multiple core high-end ARM CPUs

formateur
Objectives
  • This course is split into 3 important parts:
    • Cortex-A9(MP) architecture
    • Cortex-A9(MP) software implementation and debug
    • Cortex-A9(MP) hardware implementation
  • MMU operation under Linux is described.
  • Spin-lock implementation in a multicore system is also detailed
  • Interaction between level 1 caches, level 2 cache and main memory is studied through sequences.
  • The exception mechanism is explained, indicating how virtualization enables the support of several operating systems.
  • An overview of the Coresight specification is provided prior to describing the debug related units.
  • The course also describes the hardware implementation and provides some guidelines to design a SoC based on Cortex-A9.
  • Cache coherency is detailed, including cache tag mirrors, the advantage of connecting DMA channels to ACP and the sequences that have to be used to modify a page descriptor.
A more detailed course description is available on request at training@ac6-training.com
  • Knowledge of ARM7/9 or having attended our course ARM fundamentals.
  • This course does not include chapters on low level programming.
  • Related courses:
  • 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

  • Cortex-A9 variants
  • New memory-mapped registers in MPCore
  • The 3 instruction sets
  • Configurable options
  • States and modes
  • Benefit of register banking
  • Exception mechanism
  • Instruction sets
  • Superscalar pipeline operation
  • Branch prediction mechanism
  • Return stack
  • Predicted and non-predicted instructions
  • Secure to non secure permitted transitions
  • L1 and L2 secure state indicators, memory partitioning
  • Interrupt management when there is a mix of secure and non-secure interrupt sources
  • Boot sequence
  • AMP vs SMP
  • Boot sequence
  • Exclusive access monitor
  • Spin-lock implementation
  • Using events
  • Basic concepts of RTOS supporting A9 SMP architecture
  • General points on syntax
  • Branch and control flow instructions
  • Memory access instructions
  • Exception generating instructions
  • If…then conditional blocks
  • Interworking ARM and Thumb states
  • Demonstration of assembly sequences aimed to understand this new instruction set
  • Page access permission, domain and page protection
  • Page attributes, memory types
  • Utilization of memory barrier instructions
  • Format of the external page descriptor table
  • TLB lockdown
  • Abort exception, on-demand page mechanism
  • MMU maintenance operations
  • Using a common page descriptor table in an SMP platform, maintaining coherency of multiple TLBs
  • Virtual indexing, physical tagging for instruction cache
  • Supported maintenance operations
  • Write-back write allocate cache allocation
  • Memory hint instructions PLD, PLI, PLDW, data prefetching
  • Describing transient cache related transactions: line fills and line eviction
  • 4-entry 64-bit merging store buffer
  • Snooping basics: CLEAN, CLEAN & INVALIDATE and INVALIDATE snoop requests
  • Snoop Control Unit: cache-to-cache transfers
  • MOESI state machine
  • Understanding through sequences how data coherency is maintained between L2 memory and L1 caches
  • Accelerator Coherency Port
  • AXI
    • Topology: direct connection, multi-master, multi-layer
    • PL301 AXI interconnect
    • Separate address/control and data phases
    • AXI channels, channel handshake
    • Transaction ordering
    • Read and write burst timing diagrams
    • Cortex-A9 external memory interface, ID encoding
  • APB 3
  • Clock domains
  • Reset domains
  • Wait For Interrupt architecture
  • AXI master interface attributes
  • Exclusive L2 cache
  • AXI sideband information
  • AXI interface characteristics
  • Exclusive mode operation
  • Understanding through sequences how cacheable information is copied from memory to level 1 and level 2 caches
  • TrustZone support
  • Power management
  • Cache event monitoring
  • Describing each maintenance operation
  • Cache lockdown
  • Interrupt management
  • Event counting
  • Selecting the event to be counted for the 6 counters
  • Debugging a multi-core system with the assistance of the PMU
  • Cortex-A9 exception management
  • Interrupt virtualization
  • Integrated timer and watchdog unit in MPCore
  • Interrupt groups: STI, PPI, SPI, LSPI
  • Legacy mode
  • Prioritization of the interrupt sources
  • Distribution of the interrupts to the Cortex-A9 cores
  • Detailing the interrupt sequence
  • Spurious interrupt
  • Voltage domains
  • Cortex-A9 power control
  • Communication to the power management controller
  • SCU power status register
  • Invasive debug, non-invasive debug
  • APBv3 debug interface
  • Connection to the Debug Access Port
  • Process related breakpoint and watchpoint
  • Program counter sampling
  • Event catching
  • Debug Communication Channel
  • PTM interface, connection to funnel
  • Debug registers description
  • Cross-Trigger Interface, debugging a multi-core SoC