Obviously Awesome

CPU Architecture: A Quantitative Approach - book chapters

1) Intro
2) Classifications
3) Memory addressing
4) Operands
5) Operations in the instruction set
6) Control flow
7) Encoding
8) Compilers
9) Example - MIPS
10) Fallacies & Pitfalls
11) Conclusion
12) History
1) Intro
2) Cache Performance
3) Six Basic Optimizations
3a) - block sizes
3b) - larger caches
3c) - higher associativity
3d) - multilevel caches
3e) - read misses > writes
3f) - avoiding address translations
1) Pipelining basics
2a) Hazards (stalls)
2b) Data hazards
2c) Branch hazards
2d) Implementation
2e) Why is Pipelining so hard?
2f) MIPS & multicycle ops
2g) Summary - MIPS R4000
2h) Issues
1) Intro
2) Classifications
3) Basic definitions
4) Trends
5) Power & Energy
6) Costs
7) Dependability / Reliability
8) Measuring, reporting, summarizing
1) Intro
2) Ten cache optimizations
3) Memory technologies
4) Virtual memory & virtual machines
5) Issues
6) Examples - ARM Cortex A8, Intel Core i7
7) Fallacies
8) Looking ahead
9) Quant principles
10) Putting it all together
11) Fallacies
12) Conclusion
1) Concepts
2) Basic compiler techniques
3) Advanced branch prediction
4) Dynamic scheduling
5) Dynamic scheduling example
6) Hardware-based speculation
7) Multiple-issue & static scheduling
8) Dynamic scheduling, multiple-issue & speculation
9) Advanced techniques
10) Limitations
11) Issues
12) Multithreading
13) Example - ARM Cortex A8 vs Intel Core i7
14) Fallacies
15) Conclusion
1) Intro
2) Vector archtiectures
3) SIMD multimedia instruction set extensions
4) GPUs
5) Loop-level parallelism
6) Issues
7) Comparisons
8) Fallacies
9) Conclusions
10) History
11) Case studies
1) Intro
2) Centralized shared-memory designs
3) Symmetric shared-memory designs
4) Distributed shared-memory designs & directory-based coherence
5) Synchronization basics
6) Memory consistency models
7) Issues
8) Summary - Multicore processors
9) Fallacies
10) Conclusions
11) History
12) Case studies
1) Intro
2) Workloads
3) Architecture
4) Physical infrastructure & costs
5) Utility computing
6) Issues
7) Example - Google DC
8) Fallacies
9) Conclusions
10) History