August 27 | Introduction (Chapter 1) Lecture slides | |
August 29 | Instruction set principles (Appendix A) ( lecture slides ) | |
September 3 | Review of Pipelining (Appendix C) ( lecture slides ) | Homework 1 and solutions |
September 5 | Review of Pipelining (continued) | |
September 10 | ILP: Instruction Level Parallelism (Chapter 3) ( lecture slides ) | Homework 2 and solutions |
September 12 | Branch prediction ( lecture slides ) | |
September 17 | Dynamically scheduled pipeline ( lecture slides ) | |
September 19 | Tomasulo's algorithm and Hardware-based speculation ( lecture slides ) | |
September 24 | Multiple issue processors ( lecture slides ) | Project 1 |
September 26 | SMT and discussion of Project 1 | |
October 1 | Review of memory hierarchy (Appendix B) ( lecture slides ) | |
October 3 | Memory hierarchy | |
October 8 | Advanced cache optimizations (Chapter 2) ( lecture slides ) | |
October 10 | Main Memory ( lecture slides ) | |
October 15 | Mid-term exam (example of a mid-term and solutions) | |
October 17 | Chapter 5: Thread Level Parllelism ( lecture slides ) and review of exam | |
October 22 | Cache coherence ( lecture slides ) | Project 1 due |
October 24 | Directory-based coherence ( lecture slides ) | |
October 29 | MESI protocol and the basics of Synchronization ( lecture slides ) | Project 2 |
October 31 | Chapter 4: Data level parallelism ( lecture slides ) | |
November 5 | Data level parallelism | |
November 7 | Introduction to Interconnection Networks ( lecture slides ) | |
November 12 | Interconnection Networks | |
November 14 | Introduction to GPUs ( lecture slides ) | |
November 19 | Programming GPUs | Project 2 due |
November 21 | More on GPUs | |
November 26 | No class (Thanksgiving) | |
November 28 | No class (Thanksgiving) | |
December 3 | More on GPUs | |
December 5 | Example Questions | |
December 10 | Final exam |