View the site in Français Site displayed in English (USA) View the site in English (GB)
You are here: ac6 > ac6-formation > Freescale Power CPUs > e500mc implementation
Download Catalog
Download Catalog
Download as PDF
Download as PDF
Write us
Write us
Printable version
Printable version
 

FCC1 e500mc implementation

This course covers the e500mc core present in 32-bit QorIQ SoCs


formateur
Objectives
bullet_jaune_1 This course provides a detailed description of the e500mc internal architecture as well as the associated low level routines.
bullet_jaune_1 Coherency mechanisms required in multiple e500mc platforms are explained through sequences.
bullet_jaune_1 All mechanisms required in a multiple core system are described: atomic sequence through lwarx/stwxc. instruction pair, doorbell interrupts.
bullet_jaune_1 The course focuses on the benefits of the hypervisor: running several operating systems, partitioning, load balancing and virtualization.
bullet_jaune_1 The operation of the MMU is studied, particularly the TLB software reload routines.
bullet_jaune_1 The course details the interrupt proxy unit and provides guidelines to implement nesting.
bullet_jaune_1 Note that for on-site course, the contents can be tailored to specific customer needs.

bullet_jaune_1 This course has been designed in collaboration with Freescale
A more detailed course description is available on request at info@ac6-training.com
Prerequisites
bullet_jaune_2 Experience of a 32-bit processor or DSP is mandatory.
Exercice : The environment used to build and debug software labs are based on the GNU compiler / linker and the debugger from Lauterbach.

Outline
CORE ARCHITECTURE
bullet_jaune_2 Block diagram
bullet_jaune_2 CoreNet interface
bullet_jaune_2 Highlighting differences between e500 and e500mc
HYPERVISOR
bullet_jaune_2 Privilege levels: user, guest supervisor, hypervisor
bullet_jaune_2 Logical partition
bullet_jaune_2 Hypervisor call instruction
bullet_jaune_2 Bare-metal operation
PIPELINE
bullet_jaune_2 e500mc pipeline implementation
bullet_jaune_2 Issue queue resource requirements
bullet_jaune_2 Execution model
bullet_jaune_2 Branch management: dynamic prediction
bullet_jaune_2 Guarded memory
INTERNAL DATA / INSTRUCTION PATHS
bullet_jaune_2 L1 and L2 cache loading, hit under miss, miss under miss
bullet_jaune_2 The load miss queue
bullet_jaune_2 The store miss merging mechanism
bullet_jaune_2 Clarifying the difference between msync and lwsync
e500mc USER LEVEL PROGRAMMING
bullet_jaune_2 Implementing atomic sequences in multiple core systems, mdors instruction
bullet_jaune_2 Decorated load and store instructions
bullet_jaune_2 Integer arithmetic and logic instructions
bullet_jaune_2 FPU operation : FPSCR register, IEEE vs non-IEEE mode
bullet_jaune_2 Float load / store instructions
bullet_jaune_2 Float arithmetic instructions
bullet_jaune_2 Convert instructions
bullet_jaune_2 The EABI
SUPERVISOR / HYPERVISOR LEVEL PROGRAMMING
bullet_jaune_2 Accessing special registers, understanding the required synchronizations
bullet_jaune_2 Implementing low power modes, wait instruction
bullet_jaune_2 Core timers
THE EXCEPTION MECHANISM
bullet_jaune_2 Exception management: building the handler table through IVPR,IVOR registers
bullet_jaune_2 Finding the exact exception cause through syndrome registers
bullet_jaune_2 New machine check features
bullet_jaune_2 Interrupt proxy
bullet_jaune_2 Doorbell interrupts
THE MEMORY MANAGEMENT UNIT
bullet_jaune_2 4 GB effective address space, 64 GB real address space
bullet_jaune_2 Address translation, understanding the interim 48-bit virtual address
bullet_jaune_2 WIMGE attributes
bullet_jaune_2 Two-level MMU architecture
bullet_jaune_2 Software TLB reload
bullet_jaune_2 Managing a page descriptor table in a SMP system
bullet_jaune_2 Virtualization fault
bullet_jaune_2 External PID load and store instructions
L1 AND L2 CACHES, SNOOPING
bullet_jaune_2 Cache basics
bullet_jaune_2 L1 data cache flush
bullet_jaune_2 L2 cache organization
bullet_jaune_2 Cache coherency basics
bullet_jaune_2 The MESI L1 data line states
bullet_jaune_2 MESI snooping sequences involving two e500mc and a PCI Express master
bullet_jaune_2 Cache-to-cache transactions
bullet_jaune_2 Cache related instructions
bullet_jaune_2 Cache entry locking
bullet_jaune_2 Stashing capability
bullet_jaune_2 L1 and L2 error checking and correction, L2 cache error injection
bullet_jaune_2 Write shadow mode
DEBUG
bullet_jaune_2 Performance monitor
bullet_jaune_2 Nexus debug unit
bullet_jaune_2 Instruction and data breakpoints
bullet_jaune_2 Debug data acquisition message