Lecture schedule
| Date | Topic(s) |
| Aug 31 | Course information, Overview |
| Sept 5 | History and current trends |
| Sept 7 | Performance measurement and quantitative analysis |
| Sept 12 | Instruction set architectures |
| Sept 14 | Introduction to Pipelining, data hazards, forwarding |
| Sept 19 | Pipelining-II, control hazards |
| Sept 21 | Advanced pipelining-I |
| Sept 26 | NO CLASS |
| Sept 28 | Advanced pipelining-II |
| Oct 3 | Dynamic branch prediction, Compiler support for exploiting ILP |
| Oct 5 | Catch-up, Midterm review |
| Oct 10 | MIDTERM |
| Oct 12 | Caches |
| Oct 17 | Caches-II |
| Oct 19 | Main memory |
| Oct 24 | DRAM, Modern virtual memory systems |
| Oct 26 | Predicated execution, speculative execution, prefetching |
| Oct 31 | I/O, Storage devices, metrics |
| Nov 2 | Reliability, Availability and RAID |
| Nov 7 | Networks-I |
| Nov 9 | Networks-II |
| Nov 14 | NO CLASS |
| Nov 16 | Multiprocessors, applications, categories |
| Nov 21 | Shared memory, cache coherency |
| Nov 28 | Synchronization, memory consistency |
| Nov 30 | Vector Processors |
| Dec 5 | Exposed architectures |
| Dec 7 | Catch-up, Final review |
| Dec 12 | FINAL (during lecture hours) |