PG1 Multicore implementation

This course tackles multicore implementation issues

Objectives
  • This course describes the multiple types of multicore implementations : SMP, AMP.
  • It details the hardware resources required to support SMP.
  • Debug issues are also studied.

  • ACSYS offers a large set of multicore processor trainings: ARM Cortex-A9MP (reference R6), NXP MPC8641D (reference FC5) and MPC8572E (reference FN10).
A more detailed course description is available on request at training@ac6-training.com
  • Knowledge of high-end processor cores is recommended.
  • 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

  • AMP
  • SMP
  • BMP
  • Applications examples (MPC8641D, MPC8572, Virtex-4, Virtex 5)
  • Exclusive resource management
  • MMU page descriptor table, PowerPC tlbsync instruction
  • Multi-core interrupt controller
  • Inter-Processor Interrupts
  • Message passing
  • System booting
  • Defining shared resources and non-shared resources
  • Assigning a number to each core
  • Dispatching tasks to a particular core, static approach, dynamic approach
  • I/O management, consequence on driver design
  • Software coherency (Power instructions dcbz, dcbf, dcbi, icbi)
  • Hardware coherency : snooping
  • Distinguishing two types of cache enabled area : random access vs sequential access, NUMA model
  • PLB basics
  • Exclusive resource management, lwarx/stwcx.
  • Implementing a multi-core interrupt controller
  • Synchronizing time bases
  • Is SMP possible in a multi-405 FPGA ?