Site affiché en Français Voir le site en English (USA) Voir le site en English (GB)
Vous êtes ici: ac6 > ac6-formation > IBM processors > PPC750CXe/FX/FM/GX/GL implementation

PC1 PPC750CXe/FX/FM/GX/GL implementation

This course covers the IBM Power 750CXe, 750FX, 750FM, 750GX and 750GL Power G3 CPUs

Objectives
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 explain data flows 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 is also covered.
bullet_jaune_1 The course emphasizes differences between 750CXe, 750FX and 750GX.

bullet_jaune_1 This training has been delivered several times to companies developing avionics and defence equipments.
bullet_jaune_1 ACSYS also offers trainings on Marvell Discovery host bridges that can be used as companion chips for IBM G3 CPUs.
Labs are compiled with Diab Data compiler and run under Lauterbach Trace32 debugger.

A more detailed course description is available on request at info@ac6-formation.com
Prerequisites
bullet_jaune_2 Experience of a 32 bit processor or DSP is mandatory.

Plan
THE INSTRUCTION PIPELINE
bullet_jaune_2 750 implementation : superscalar operation, out-of-order execution, register renaming, serializations, isync instruction
bullet_jaune_2 Branch processing unit : BTIC, guarded memory
bullet_jaune_2 Branch instructions
bullet_jaune_2 Coding guidelines
DATA PATHS
bullet_jaune_2 Load / store architecture
bullet_jaune_2 Data path between L1 and L2
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 Miss under miss operation
bullet_jaune_2 Shared resource management
bullet_jaune_2 Cache coherency mechanism, snooping, related signals
bullet_jaune_2 The MEI state machine
bullet_jaune_2 Management of cache enabled pages shared with PCI DMAs
bullet_jaune_2 Reservation coherency
bullet_jaune_2 Cache related instructions
bullet_jaune_2 Cache flush routine
bullet_jaune_2 The L2 cache, organization, replacement algorithm
bullet_jaune_2 L2 cache locking by way (750FX/FL, 750GX/GL)
SOFTWARE IMPLEMENTATION
bullet_jaune_2 PowerPC architecture specification, the 3 books UISA, VEA and OEA
bullet_jaune_2 Addressing modes
bullet_jaune_2 Integer instructions
bullet_jaune_2 IEEE754 basics, floating points numbers encoding
bullet_jaune_2 Floating point arithmetical instructions
bullet_jaune_2 Improvements implemented in the 750FX/FL/GX/GL : additional reservation station and quicker reciprocal estimates
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
bullet_jaune_2 Explanation of hash value and API field
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 Requirements to allow exception nesting
bullet_jaune_2 PowerPC timers TB and DEC
HARDWARE IMPLEMENTATION
bullet_jaune_2 Hreset vs Sreset
bullet_jaune_2 Clocking
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 Timing analysis
bullet_jaune_2 Minimal implementation
bullet_jaune_2 Low power modes
bullet_jaune_2 Power, dual PLLs for seamless frequency switching (750FX/FL, 750GX/GL)
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