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 > P2020 QorIQ implementation
Download Catalog
Download Catalog
Download as PDF
Download as PDF
Write us
Write us
Printable version
Printable version
 

FCQ2 P2020 QorIQ implementation

This course covers Freescale QorIQ P2010 and P2020


formateur
Objectives
bullet_jaune_1 The course clarifies the architecture of the P20X0, particularly the operation of the coherency module that interconnects the e500s to memory and high-speed interfaces.
bullet_jaune_1 Cache coherency protocol is introduced in increasing depth.
bullet_jaune_1 The e500 core is viewed in detail, especially the SPE unit 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 P20X0.
bullet_jaune_1 A long introduction to DDR SDRAM operation is done before studying the DDR2/3 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 explains how to implement QoS on GigaEthernet controllers.

bullet_jaune_1 ACSYS has developed an optimized SPE based FFT coded in assembler language.
bullet_jaune_1 Performance for 1024 complex floating point single precision samples is:
bullet_jaune_2 - 91_386 core clock cycles without reverse ordering, 94_124 with reverse ordering
bullet_jaune_1 Performance for 4096 complex floating point single precision samples is:
bullet_jaune_2 - 470_778 core clock cycles without reverse ordering, 511_227 with reverse ordering
bullet_jaune_1 For any information contact guillaume.peron@ac6.fr
A more detailed course description is available on request at info@ac6-training.com

Related courses

Course IS2 - Memory CardCourse_IC4 - PCIexpressCourse IC5 - RapidIOCourse N1 - Gigabit EthernetCourse IP2 - USB-2.0
Prerequisites
bullet_jaune_2 Experience of a 32-bit processor or DSP is mandatory.
bullet_jaune_2 Knowledge of RapidIO and PCI Express is recommended.

Outline
INTRODUCTION TO P20X0
Overall description
bullet_jaune_2 Internal data flows, OCEAN switch fabric, packet reordering
bullet_jaune_2 Implementation examples
bullet_jaune_2 Address map, ATMU, OCEAN configuration
bullet_jaune_2 Local vs external address spaces, inbound and outbound address decoding
bullet_jaune_2 Accessing memory-mapped registers from external master
THE e500 CORES
THE INSTRUCTION PIPELINE
bullet_jaune_2 Dual-issue superscalar control, out-of-order execution
bullet_jaune_2 Execution units : 2 simple Integer Units + 1 Complex Integer Unit
bullet_jaune_2 Dynamic branch prediction using a 128-set 4-way set associative Branch Target Buffer
bullet_jaune_2 Execution timing, rename register operation, instruction serialization
DATA AND INSTRUCTION PATHS
bullet_jaune_2 The Core Complex Bus : high speed on-chip local bus with data tagging
bullet_jaune_2 The LMQ, the store queue, the castout queue
bullet_jaune_2 Store miss merging and store gathering
bullet_jaune_2 Memory access ordering
bullet_jaune_2 Lock acquisition and import barriers
THE MEMORY MANAGEMENT UNITS
bullet_jaune_2 The first level MMU and the second level MMU, consistency between L1 and L2 TLBs
bullet_jaune_2 Snooping of TLBs
bullet_jaune_2 TLB software reload, page attributes WIMGE
bullet_jaune_2 Process protection, variable number of PID registers and sharing
bullet_jaune_2 MMU implementation in real-time sensitive applications
CACHES
bullet_jaune_2 The L1 caches, PLRU replacement algorithm, 8-way set associativity, cache block and unlock APU
bullet_jaune_2 Level 2 cache, partition into L2 cache plus SRAM
bullet_jaune_2 Allocation of data transferred by external masters into the cache: stashing
bullet_jaune_2 Snooping mechanism, stashing mechanism
bullet_jaune_2 L2 cache locking
PROGRAMMING
bullet_jaune_2 Differences between the new Book E architecture and the classic PowerPC architecture
bullet_jaune_2 Floating Point units, Double-Precision FP
bullet_jaune_2 Signal Processing APU (SPU) : implementation of the SIMD capability without using a separate unit
bullet_jaune_2 PowerPC EABI : sections, C-to-assembly interface
EXCEPTIONS
bullet_jaune_2 Book E exception handling
bullet_jaune_2 Critical versus non critical
bullet_jaune_2 Handler table
bullet_jaune_2 Exception nesting, recoverability from interrupt
bullet_jaune_2 Core timers : Decrementer, Time Base, Fixed Interval Timer and Software Watchdog
DEBUGGING
bullet_jaune_2 Performance monitoring, counting of events
bullet_jaune_2 JTAG emulation, real time trace when the e500 core executes cached instructions
bullet_jaune_2 Watchpoint logic, triggering capabilities based on user programmable events
INFRASTRUCTURE
RESET, CLOCKING AND INITIALIZATION
bullet_jaune_2 Platform clock
bullet_jaune_2 Voltage configuration selection
bullet_jaune_2 Power-on reset sequence, using the I2C interface to access serial ROM
bullet_jaune_2 Boot page translation
bullet_jaune_2 eSDHC boot
bullet_jaune_2 eSPI boot ROM
e500 COHERENCY MODULE
bullet_jaune_2 I/O arbiter
bullet_jaune_2 CCB arbiter
bullet_jaune_2 Transaction queue
bullet_jaune_2 CCB interface
DDR2/DDR3 SDRAM MEMORY CONTROLLER
bullet_jaune_2 DDR2 and DDR3 Jedec specification
bullet_jaune_2 On-Die termination
bullet_jaune_2 Mode registers initialization, bank selection and precharge
bullet_jaune_2 Command truth table
bullet_jaune_2 Bank activation, read, write and precharge timing diagrams, page mode
bullet_jaune_2 Introduction to the DDR-SDRAM controller
bullet_jaune_2 Initial configuration following Power-on-Reset
bullet_jaune_2 Timing parameters programming
bullet_jaune_2 Initialization routine
ENHANCED LOCAL BUS CONTROLLER
bullet_jaune_2 Multiplexed or non-multiplexed address and data buses
bullet_jaune_2 Dynamic bus sizing
bullet_jaune_2 GPCM, UPMs states machines
bullet_jaune_2 Flask Control Machine
bullet_jaune_2 NAND flash controller
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 8-lane PCI Express interface
bullet_jaune_2 Modes of operation, Root Complex / Endpoint
bullet_jaune_2 Transaction ordering rules
bullet_jaune_2 Programming inbound and outbound ATMUs
bullet_jaune_2 Configuration, initialization
PROGRAMMABLE INTERRUPT CONTROLLER
bullet_jaune_2 PIC in multiple-processor implementation
bullet_jaune_2 Interrupt sources : external interrupts, internal interrupts, message interrupts
bullet_jaune_2 Integrated timers
bullet_jaune_2 Interprocessor interrupts
bullet_jaune_2 Per-CPU register usage, message registers
bullet_jaune_2 Nesting implementation
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
PERFORMANCE MONITOR AND DEBUG FEATURES
bullet_jaune_2 Event counting
bullet_jaune_2 Threshold events
bullet_jaune_2 Chaining, triggering
bullet_jaune_2 Watchpoint facility
bullet_jaune_2 Trace buffer
INPUTS/OUTPUTS
THE ETHERNET CONTROLLERS
bullet_jaune_2 Address recognition, pattern matching
bullet_jaune_2 Buffer descriptors management
bullet_jaune_2 Physical interfaces : GMII, MII, TBI, RGMII, SGMII
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 Management of VLAN tags and priority, VLAN insertion and deletion
bullet_jaune_2 Quality of service, managing several transmit and receive queues
bullet_jaune_2 TCP/IP offload engine, filer programming
bullet_jaune_2 IEEE1588 compliant time-stamping
ENHANCED SECURE DEVICE HOST CONTROLLER
bullet_jaune_2 Storing and executing commands targeting the external card
bullet_jaune_2 Multi-block transfers
bullet_jaune_2 Moving data by using the dedicated DMA controller
bullet_jaune_2 Dividing large data transfers
bullet_jaune_2 Card insertion and removal detection
USB CONTROLLER
bullet_jaune_2 Dual-role (DR) operation
bullet_jaune_2 EHCI implementation
bullet_jaune_2 ULPI interfaces to the transceiver
bullet_jaune_2 OTG support
bullet_jaune_2 Dedicated DMA channels
bullet_jaune_2 Endpoints configuration
SECURITY ENGINE
bullet_jaune_2 Overview of the encryption mechanism
bullet_jaune_2 Introduction to DES and 3DES algorithms
bullet_jaune_2 Data packet descriptors
bullet_jaune_2 Crypto channels
bullet_jaune_2 XOR acceleration
LOW SPEED PERIPHERALS
bullet_jaune_2 Description of the NS16552 compliant Uarts
bullet_jaune_2 I2C controller
bullet_jaune_2 Enhanced SPI, transmit and receive sequences