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 > PPC440 core implementation

P2 PPC440 core implementation

This course covers the IBM Power 445 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 focusses on 440 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 PPC440 and to engineers implementing Xilinx FPGAs containing PPC440 core(s).
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.

Outline
INTRODUCTION TO 440
bullet_jaune_2 Internal architecture overview
bullet_jaune_2 Connection to peripheral IPs
bullet_jaune_2 Clocking
bullet_jaune_2 Programming model
THE CORE ARCHITECTURE
bullet_jaune_2 Pipeline basics
bullet_jaune_2 5-stage pipeline operation
bullet_jaune_2 Speculative execution, guarded memory
bullet_jaune_2 Cache basics
bullet_jaune_2 Data flow between external memory and caches
bullet_jaune_2 Cache programming interface
bullet_jaune_2 Process vs thread
bullet_jaune_2 Memory Management Unit
bullet_jaune_2 Translation Lookaside Buffer initialisation
bullet_jaune_2 Cache control and debugging features
bullet_jaune_2 Load / store buffer, speculative loads
BOOK E COMPLIANT CORE
bullet_jaune_2 Book E objectives
bullet_jaune_2 Branch instructions
bullet_jaune_2 Load / store instructions
bullet_jaune_2 Semaphore management with lwarx / stwcx. Instructions
bullet_jaune_2 Arithmetical and logical instructions
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 Exception processing
bullet_jaune_2 Syndrome registers updating when an exception is taken
bullet_jaune_2 Core timers : PIT, FIT and WDT
bullet_jaune_2 Reset
INTEGRATED DEBUG FACILITIES
bullet_jaune_2 JTAG emulator use
bullet_jaune_2 Real time trace when the PowerPC core executes cached instructions
bullet_jaune_2 Hardware vs software breakpoints
HARDWARE IMPLEMENTATION OF THE PPC440 CORE
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 local bus interface
bullet_jaune_2 Data-side local bus interface
bullet_jaune_2 DCR interface
APU CONTROLLER
bullet_jaune_2 Connection to the native instruction pipeline
bullet_jaune_2 External coprocessor module
bullet_jaune_2 Software interface
bullet_jaune_2 Class of instruction
bullet_jaune_2 Developing a custom instruction set relying on an external coprocessor
bullet_jaune_2 Floating point simple and double precision instructions