Topics covered include:
- The CPU - An overview of how a CPU works. How numbers are stored. Pipelining and how to achieve peak performance. What a compiler does: assembler vs. higher level languages
- Memory - An overview of how DRAM works. Parity and ECC. Memory speed & bandwidth. Cache hierarchy and pre-fetching.
- Memory Management - An overview of memory management. The mapping between virtual and physical addresses. Page tables and the TLB. Paging and disk performance. Segmentation and the linux memory map.
- Parallel Computers - Amdahl's Law, MPP & SMP, NUMA, Multithreading, clusters.