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 > MPC755 implementation

FC1 MPC755 implementation

This course covers Freescale G3 Power CPU

Objectives
bullet_jaune_1 The training aims to understand the PowerPC programming environment through the MPC755 processor.
bullet_jaune_1 A focus is done on the PowerPC EABI which is fundamental when C programs are to be interfaced with assembly routines.
bullet_jaune_1 The pipeline is viewed in detail in order to infer instructions scheduling guidelines.
bullet_jaune_1 Many Diab Data PowerPC specific compiler options are studied.
bullet_jaune_1 A flush routine is used to clarify the data path between L1 data cache, L2 cache and SDRAM main memory.
bullet_jaune_1 The course details the segmentation / pagination mechanism used to protect process.
bullet_jaune_1 A generic exception handler is described.
bullet_jaune_1 The hardware implementation and particularly the analysis of the L2 bus timings are handled with great care.
bullet_jaune_1 This course has been delivered several times to companies involved in the design of avionics critical systems.
A more detailed course description is available on request at info@ac6-training.com
Experience of a 32 bit processor or DSP is mandatory.

Outline
THE INSTRUCTION PIPELINE
bullet_jaune_2 MPC755 implementation : superscalar operation, out-of-order execution, register renaming, serializations, isync instruction.
bullet_jaune_2 Branch processing unit : BTIC, static prediction vs dynamic prediction, speculative loads, guarded memory.
bullet_jaune_2 Branch instructions.
bullet_jaune_2 Coding guidelines.
DATA AND INSTRUCTION PATHS
bullet_jaune_2 Load / store buffers
bullet_jaune_2 Sync and eieio instructions
bullet_jaune_2 Store gathering mechanism
CACHES
bullet_jaune_2 Cache basics
bullet_jaune_2 L1 caches: PLRU algorithm
bullet_jaune_2 Shared resource management
bullet_jaune_2 Cache coherency mechanism
bullet_jaune_2 The MEI state machine
bullet_jaune_2 Management of cache enabled pages shared with PCI DMAs
bullet_jaune_2 Reservation coherency, management of Boolean semaphores in a multi-processor system
bullet_jaune_2 Cache related instructions
bullet_jaune_2 Cache flush routine
bullet_jaune_2 The L2 cache, organization, replacement algorithm
bullet_jaune_2 Implementation of a private memory
SOFTWARE IMPLEMENTATION
bullet_jaune_2 PowerPC architecture specification, the 3 books UISA, VEA and OEA
bullet_jaune_2 7XX registers
bullet_jaune_2 addressing modes
bullet_jaune_2 Integer instructions
bullet_jaune_2 IEEE754 basics
bullet_jaune_2 Floating point load / store instructions
bullet_jaune_2 Floating point arithmetical instructions
bullet_jaune_2 The PowerPC EABI
bullet_jaune_2 Linking an application with Diab Data
THE MMU
bullet_jaune_2 Thread vs process
bullet_jaune_2 Introduction to real, block and segmentation / pagination translations
bullet_jaune_2 Memory attributes and access rights definition
bullet_jaune_2 Virtual space benefit, page protection through segmentation
bullet_jaune_2 TLBs organization
bullet_jaune_2 Segmentation : process ID definition
bullet_jaune_2 Pagination : PTE table organization, tablesearch algorithm
bullet_jaune_2 Benefits of the software tablewalk in comparison with the hardware tablewalk
bullet_jaune_2 MMU implementation in real-time sensitive applications
THE EXCEPTION MECHANISM
bullet_jaune_2 Save / restore registers SRR0/SRR1, rfi instruction
bullet_jaune_2 Exception management mechanism
bullet_jaune_2 Registers updating according to the exception cause
bullet_jaune_2 Requirements to allow exception nesting
HARDWARE IMPLEMENTATION
bullet_jaune_2 Hreset vs Sreset
bullet_jaune_2 Bus operation
bullet_jaune_2 Address phase
bullet_jaune_2 Data phase
bullet_jaune_2 Address decode logic design
bullet_jaune_2 Minimal implementation
bullet_jaune_2 The L2 bus, supported synchronous SRAM technologies
bullet_jaune_2 Objectives of the DLL
bullet_jaune_2 Timing analysis, AN1794/D
bullet_jaune_2 Low power modes
bullet_jaune_2 Discrete signals
THE PERFORMANCE MONITOR
bullet_jaune_2 Objectives of the performance monitor
bullet_jaune_2 Event counting
bullet_jaune_2 Programming interface
THE DEBUG PORT
bullet_jaune_2 JTAG emulation
bullet_jaune_2 Real time trace requirements
bullet_jaune_2 Code instrumentation
bullet_jaune_2 Hardware breakpoints