|
|
|
|
| MPC8641D OVERVIEW |
| Overview |
 |
e600 core, usage of a dual core device |
 |
Coherency Module |
 |
Examples of data flow through the MPC8641D |
 |
Address map, local access windows |
 |
Outbound and inbound address translation windows |
| e600 CORE |
| PIPELINE |
 |
Pipeline basics |
 |
Introduction to e600 pipeline |
 |
e600 pipeline implementation |
 |
Execution serialization, purpose of the isync instruction |
 |
Branch management |
 |
Guarded memory |
 |
Coding guidelines |
 |
Performance monitor |
| INTERNAL DATA AND INSTRUCTION PATHS |
 |
L1 and L2 cache loading, hit under miss |
 |
The MSS [Memory Sub System] |
 |
The load fold queue |
 |
The store miss merging advantage when several vectors must be stored |
 |
The BIU [Bus Interface Unit] |
 |
Purpose of sync and eieio instructions |
| L1 AND L2 CACHES |
 |
Cache basics |
 |
e600 L1 cache : PLRU algorithm, HID0/ICTRL programming interface, way locking |
 |
L1 data cache flush |
 |
Transient load instructions benefits |
 |
L2 cache organization |
 |
L2 replacement algorithm selection, L2 locking |
 |
Cache coherency basics |
 |
MESI snooping sequences involving 2 e600s and a PCI Express master |
| e600 PROGRAMMING |
 |
User and supervisor registers |
 |
The system call communication path between applications and RTOS |
 |
Integer load / store instructions, boolean semaphore management |
 |
IEEE754 basics |
 |
FPU operation : FPSCR register, IEEE vs non-IEEE mode |
 |
The EABI |
 |
Code and data sections, small data areas benefits |
| ALTIVEC |
 |
Altivec introduction, SIMD processing |
 |
Intra vs inter element instructions |
 |
Altivec registers, VSCR initialization |
 |
ANSI C extension to support vector operators, new C types, new castings, vector declaration and initialization |
 |
Altivec implementation on the e600 : the VALU and the VPU execution units |
 |
Data streams management |
 |
EABI extension to support Altivec |
| THE MEMORY MANAGEMENT UNIT |
 |
MMU goals |
 |
Enabling 4 additional BATs |
 |
32-bit or 36-bit real address size selection |
 |
WIMG attributes definition, page and block access rights definition |
 |
Page protection through VSID selection |
 |
TLB organization, TLB software management |
 |
Page translation : PTEG selection, tablesearch, PTE content |
 |
Software vs hardware TLB reload |
 |
MMU implementation in real-time sensitive applications |
| THE EXCEPTION MECHANISM |
 |
Exception state saving and restoring through SRR0/SRR1 registers |
 |
Exception management |
 |
Recoverable vs non recoverable interrupts |
 |
Requirements to support exception nesting |
 |
Performance monitor |
| MPC8641D INFRASTRUCTURE |
| RESET AND CLOCKING |
 |
Platform clock |
 |
RapidIO transmit clock source selection |
 |
Power-on reset sequence, use of the I2C interface to access a serial ROM |
 |
Power-on reset configuration |
 |
Boot page translation |