|
|
|
|
| THE INSTRUCTION PIPELINE |
 |
750 implementation : superscalar operation, out-of-order execution, register renaming, serializations, isync instruction |
 |
Branch processing unit : BTIC, guarded memory |
 |
Branch instructions |
 |
Coding guidelines |
| DATA PATHS |
 |
Load / store architecture |
 |
Data path between L1 and L2 |
 |
Load / store buffers |
 |
Sync and eieio instructions |
 |
Store gathering mechanism |
| CACHES |
 |
Cache basics |
 |
L1 caches : PLRU algorithm |
 |
Miss under miss operation |
 |
Shared resource management |
 |
Cache coherency mechanism, snooping, related signals |
 |
The MEI state machine |
 |
Management of cache enabled pages shared with PCI DMAs |
 |
Reservation coherency |
 |
Cache related instructions |
 |
Cache flush routine |
 |
The L2 cache, organization, replacement algorithm |
 |
L2 cache locking by way (750FX/FL, 750GX/GL) |
| SOFTWARE IMPLEMENTATION |
 |
PowerPC architecture specification, the 3 books UISA, VEA and OEA |
 |
Addressing modes |
 |
Integer instructions |
 |
IEEE754 basics, floating points numbers encoding |
 |
Floating point arithmetical instructions |
 |
Improvements implemented in the 750FX/FL/GX/GL : additional reservation station and quicker reciprocal estimates |
 |
The PowerPC EABI |
 |
Linking an application with Diab Data |
| THE MMU |
 |
Thread vs process |
 |
Introduction to real, block and segmentation / pagination translations |
 |
Memory attributes and access rights definition |
 |
Virtual space benefit, page protection through segmentation |
 |
TLBs organization |
 |
Segmentation : process ID definition |
 |
Pagination : PTE table organization |
 |
Explanation of hash value and API field |
 |
MMU implementation in real-time sensitive applications |
| THE EXCEPTION MECHANISM |
 |
Save / restore registers SRR0/SRR1, rfi instruction |
 |
Exception management mechanism |
 |
Requirements to allow exception nesting |
 |
PowerPC timers TB and DEC |
| HARDWARE IMPLEMENTATION |
 |
Hreset vs Sreset |
 |
Clocking |
 |
Bus operation |
 |
Address phase |
 |
Data phase |
 |
Address decode logic design |
 |
Timing analysis |
 |
Minimal implementation |
 |
Low power modes |
 |
Power, dual PLLs for seamless frequency switching (750FX/FL, 750GX/GL) |
| THE PERFORMANCE MONITOR |
 |
Objectives of the performance monitor |
 |
Event counting |
 |
Programming interface |
| THE DEBUG PORT |
 |
JTAG emulation |
 |
Real time trace requirements |
 |
Code instrumentation |
 |
Hardware breakpoints |