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

FC5 MPC8641(D) implementation

This course covers Freescale MPC8641 and MPC8641D single- and dual- core Power CPUs


formateur
Objectives
bullet_jaune_1 The course clarifies the architecture of the MPC8641D, particularly the operation of the coherency module that interconnects the e600s to memory and high-speed interfaces.
bullet_jaune_1 Cache coherency protocol is introduced in increasing depth.
bullet_jaune_1 The e600 core is viewed in detail, especially the Altivec units that enable vector processing.
bullet_jaune_1 The boot sequence and the clocking are explained.
bullet_jaune_1 The course focuses on the hardware implementation of the MPC8641D.
bullet_jaune_1 A long introduction to DDR SDRAM operation is done before studying the DDR SDRAM controller.
bullet_jaune_1 An in-depth description of the RapidIO port and the PCI-Express port is done.
bullet_jaune_1 The course highlights both hardware and software implementation of gigabit / fast / Ethernet controllers.
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
bullet_jaune_2 Knowledge of the RapidIO (course I4) and PCI Express bus (course I3) is recommended

Outline
MPC8641D OVERVIEW
Overview
bullet_jaune_2 e600 core, usage of a dual core device
bullet_jaune_2 Coherency Module
bullet_jaune_2 Examples of data flow through the MPC8641D
bullet_jaune_2 Address map, local access windows
bullet_jaune_2 Outbound and inbound address translation windows
e600 CORE
PIPELINE
bullet_jaune_2 Pipeline basics
bullet_jaune_2 Introduction to e600 pipeline
bullet_jaune_2 e600 pipeline implementation
bullet_jaune_2 Execution serialization, purpose of the isync instruction
bullet_jaune_2 Branch management
bullet_jaune_2 Guarded memory
bullet_jaune_2 Coding guidelines
bullet_jaune_2 Performance monitor
INTERNAL DATA AND INSTRUCTION PATHS
bullet_jaune_2 L1 and L2 cache loading, hit under miss
bullet_jaune_2 The MSS [Memory Sub System]
bullet_jaune_2 The load fold queue
bullet_jaune_2 The store miss merging advantage when several vectors must be stored
bullet_jaune_2 The BIU [Bus Interface Unit]
bullet_jaune_2 Purpose of sync and eieio instructions
L1 AND L2 CACHES
bullet_jaune_2 Cache basics
bullet_jaune_2 e600 L1 cache : PLRU algorithm, HID0/ICTRL programming interface, way locking
bullet_jaune_2 L1 data cache flush
bullet_jaune_2 Transient load instructions benefits
bullet_jaune_2 L2 cache organization
bullet_jaune_2 L2 replacement algorithm selection, L2 locking
bullet_jaune_2 Cache coherency basics
bullet_jaune_2 MESI snooping sequences involving 2 e600s and a PCI Express master
e600 PROGRAMMING
bullet_jaune_2 User and supervisor registers
bullet_jaune_2 The system call communication path between applications and RTOS
bullet_jaune_2 Integer load / store instructions, boolean semaphore management
bullet_jaune_2 IEEE754 basics
bullet_jaune_2 FPU operation : FPSCR register, IEEE vs non-IEEE mode
bullet_jaune_2 The EABI
bullet_jaune_2 Code and data sections, small data areas benefits
ALTIVEC
bullet_jaune_2 Altivec introduction, SIMD processing
bullet_jaune_2 Intra vs inter element instructions
bullet_jaune_2 Altivec registers, VSCR initialization
bullet_jaune_2 ANSI C extension to support vector operators, new C types, new castings, vector declaration and initialization
bullet_jaune_2 Altivec implementation on the e600 : the VALU and the VPU execution units
bullet_jaune_2 Data streams management
bullet_jaune_2 EABI extension to support Altivec
THE MEMORY MANAGEMENT UNIT
bullet_jaune_2 MMU goals
bullet_jaune_2 Enabling 4 additional BATs
bullet_jaune_2 32-bit or 36-bit real address size selection
bullet_jaune_2 WIMG attributes definition, page and block access rights definition
bullet_jaune_2 Page protection through VSID selection
bullet_jaune_2 TLB organization, TLB software management
bullet_jaune_2 Page translation : PTEG selection, tablesearch, PTE content
bullet_jaune_2 Software vs hardware TLB reload
bullet_jaune_2 MMU implementation in real-time sensitive applications
THE EXCEPTION MECHANISM
bullet_jaune_2 Exception state saving and restoring through SRR0/SRR1 registers
bullet_jaune_2 Exception management
bullet_jaune_2 Recoverable vs non recoverable interrupts
bullet_jaune_2 Requirements to support exception nesting
bullet_jaune_2 Performance monitor
MPC8641D INFRASTRUCTURE
RESET AND CLOCKING
bullet_jaune_2 Platform clock
bullet_jaune_2 RapidIO transmit clock source selection
bullet_jaune_2 Power-on reset sequence, use of the I2C interface to access a serial ROM
bullet_jaune_2 Power-on reset configuration
bullet_jaune_2 Boot page translation
MPX COHERENCY MODULE
bullet_jaune_2 I/O arbiter
bullet_jaune_2 MPX arbiter
bullet_jaune_2 Transaction queue
bullet_jaune_2 Global data multiplexor
bullet_jaune_2 MPX interface
MULTIPROCESSOR PERIPHERAL INTERRUPT CONTROLLER
bullet_jaune_2 Open PIC architecture compatibility
bullet_jaune_2 Interrupt nesting
bullet_jaune_2 Description of the 4 timers / counters
bullet_jaune_2 Message interrupts
bullet_jaune_2 e600-to-e600 interrupt capability
DDR-SDRAM MEMORY CONTROLLER
bullet_jaune_2 DDR2 operation
bullet_jaune_2 Command truth table
bullet_jaune_2 Hardware interface
bullet_jaune_2 Refresh types
bullet_jaune_2 Bank activation, read, write and precharge timing diagrams, page mode
bullet_jaune_2 ECC error correction
bullet_jaune_2 Initial configuration following Power-on-Reset
bullet_jaune_2 Address decode
bullet_jaune_2 Timing parameters programming
bullet_jaune_2 FCRAM interface commands
LOCAL BUS CONTROLLER
bullet_jaune_2 Multiplexed 32-bit address and data transfers
bullet_jaune_2 Burst support
bullet_jaune_2 Dynamic bus sizing
bullet_jaune_2 GPCM, UPMs and SDR SDRAM states machines
INTEGRATED DMA CONTROLLER
bullet_jaune_2 Priority between the 4 channels
bullet_jaune_2 Support for cascading descriptor chains
bullet_jaune_2 Scatter / gathering
bullet_jaune_2 Selectable hardware enforced coherency
bullet_jaune_2 Ability to start DMA from external 3-pin interface
SERIAL RapidIO INTERFACE
bullet_jaune_2 Message Unit, direct vs chaining mode operation
bullet_jaune_2 RapidIO doorbell and port-write unit
bullet_jaune_2 Accessing configuration registers via RapidIO packets
bullet_jaune_2 Programming inbound and outbound ATMUs
bullet_jaune_2 Error handling
PCI EXPRESS INTERFACE
bullet_jaune_2 Modes of operation, Root Complex / Endpoint
bullet_jaune_2 Byte swapping
bullet_jaune_2 Transaction ordering rules
bullet_jaune_2 Programming inbound and outbound ATMUs
bullet_jaune_2 Configuration, initialization
PERFORMANCE MONITOR AND DEBUG FEATURES
bullet_jaune_2 Event counting
bullet_jaune_2 Threshold events
bullet_jaune_2 Watchpoint facility
bullet_jaune_2 Trace buffer
MPC8641D INPUT / OUTPUT PERIPHERALS
THE ETHERNET CONTROLLERS
bullet_jaune_2 802.3 specification fundamentals : the 3 layers PHY, MAC and control
bullet_jaune_2 Frame format with and without VLAN option
bullet_jaune_2 Address recognition, pattern matching
bullet_jaune_2 Buffer descriptors management
bullet_jaune_2 The enhanced three-speed Ethernet controllers (eTSECs)
bullet_jaune_2 Physical interfaces : GMII, MII, TBI or RGMII
bullet_jaune_2 Buffer descriptor management
bullet_jaune_2 Layer 2 acceleration accept or reject on address or pattern match
bullet_jaune_2 256-entry hash table for unicast and multicast
bullet_jaune_2 IPv4, TCP and UDP checksum verification and generation
bullet_jaune_2 Quality of service support
I2C CONTROLLERS
bullet_jaune_2 I2C protocol fundamentals : addressing, multimaster operation
bullet_jaune_2 Transmit and receive sequence
SERIAL INTERFACE
bullet_jaune_2 Introduction to UART protocol
bullet_jaune_2 Description of the NS€50/16550 compliant Uarts
bullet_jaune_2 Flow control signal management