Site affiché en Français Voir le site en English (USA) Voir le site en English (GB)
Vous êtes ici: ac6 > ac6-formation > Freescale Power CPUs > P2020 QorIQ implementation

FCQ2 P2020 QorIQ implementation

This course covers Freescale QorIQ P2010 and P2020

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.

Plan
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