View the site in Français Site displayed in English (USA) View the site in English (GB)
You are here: ac6 > ac6-formation > IBM processors > PPC464 core implementation

P3 PPC464 core implementation

This course covers the IBM Power 464 core

Objectives
bullet_jaune_1 A boot firmware that initializes the MMU has been developped to explain the boot sequence.
bullet_jaune_1 Internal debug facilities are described.
bullet_jaune_1 The course focuses on PPC464 low level programming, especially the PowerPC EABI.
bullet_jaune_1 Examples of exception handlers are provided.
bullet_jaune_1 A DFT has been developed to explain how to use MAC instructions.
bullet_jaune_1 The Floating Point Unit operation is described.
bullet_jaune_1 The PLB ports as well as debug related signals are described to facilitate the hardware implementation.

bullet_jaune_1 This course has been delivered several times to engineers developing ASICs based on PPC464.
Labs are compiled with GNU 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.

Outline
INTRODUCTION TO PPC464FP-H90
bullet_jaune_2 Internal architecture overview
bullet_jaune_2 Highlighting instruction and data paths
bullet_jaune_2 Clocking
bullet_jaune_2 Programming model, the 4 register groups GPRs, SPRs, DCRs and memory mapped
bullet_jaune_2 CoreConnect-based SOCs
THE CORE ARCHITECTURE
bullet_jaune_2 Pipeline basics
bullet_jaune_2 7-stage pipeline operation
bullet_jaune_2 Speculative execution, guarded memory
bullet_jaune_2 Serialization
bullet_jaune_2 Cache basics
bullet_jaune_2 Cache programming interface
bullet_jaune_2 Process vs thread
bullet_jaune_2 Memory Management Unit
bullet_jaune_2 36-bit real address space
bullet_jaune_2 Translation Lookaside Buffer initialisation
bullet_jaune_2 Cache control and debugging features
bullet_jaune_2 Load / store buffer, speculative loads, msync and mbar instructions
BOOK E COMPLIANT CORE
bullet_jaune_2 Booke E objectives
bullet_jaune_2 Branch instructions
bullet_jaune_2 Addressing modes
bullet_jaune_2 Load / store instructions
bullet_jaune_2 Semaphore management with lwarx / stwcx. Instructions
bullet_jaune_2 Arithmetical and logical instructions, shift and rotate instructions
bullet_jaune_2 Floating point unit, compliancy with IEEE754
bullet_jaune_2 Processing denormalized FP numbers
bullet_jaune_2 Floating point arithmetic instructions
bullet_jaune_2 FP-to-integer and integer-to-FP casting
bullet_jaune_2 The PowerPC EABI
bullet_jaune_2 Cache related instructions
bullet_jaune_2 16-bit mac instructions to develop fixed point DSP algorithms
bullet_jaune_2 2-cycle multiply option
bullet_jaune_2 Exception processing
bullet_jaune_2 Critical versus non critical interrupts
bullet_jaune_2 Syndrome registers updating when an exception is taken
bullet_jaune_2 Core timers : PIT, FIT and WDT
INTEGRATED DEBUG FACILITIES
bullet_jaune_2 JTAG emulator use
bullet_jaune_2 The 464 instruction trace port
bullet_jaune_2 Real time trace when the PowerPC core executes cached instructions
bullet_jaune_2 Hardware vs software breakpoints
HARDWARE IMPLEMENTATION OF THE PPC464 CORE
bullet_jaune_2 Signal naming convention
bullet_jaune_2 External connections
bullet_jaune_2 Clock and power management interface
bullet_jaune_2 CPU control interface
bullet_jaune_2 Reset interface
bullet_jaune_2 External interrupt controller interface
bullet_jaune_2 Instruction-side PLB interface
bullet_jaune_2 Data-side PLB interface
bullet_jaune_2 DCR interface