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