|
|
|
|
| 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 |