Advanced Computer Architecture (Fall 2021)
ECE6100/ECE4100/CS4290/CS6290 B
Course Staff
- Instructor: Prof. Cong (Callie) Hao
- Email: callie.hao@ece.gatech.edu
- Class Location and Time: Klaus 2447, 12:30 pm – 1:45 pm, Tuesday & Thursday
- Office Hour: 1:45 pm – 2:30 pm, after class, in Klaus 2306
- Teaching Assistant: Rishov Sarkar
- Email: rishov.sarkar@gatech.edu
- Recitation Location and Time: Klaus 2447, 11 am – 12 pm on Thursdays (starting September 9)
- Office Hour: Mondays 5 pm – 6 pm in Van Leer C449-A
Course Overview
- This course is a study of the evolution of computer architecture and the factors influencing the design of hardware and software elements of computer systems
- Topics may include:
- Instruction set design
- Processor micro-architecture and pipelining
- In-order and out-of-order superscalar architectures
- VLIW machines
- Cache and virtual memory organizations
- Vector supercomputers and GPU basic
- Multithreaded architectures
- Symmetric multiprocessors
- Memory models and synchronization
- Modern domain-specific accelerators, languages, and compilers
- FPGA basic
Prerequisites
- Undergraduate computer architecture course that covers basic computer organization: instruction sets, basic caching, pipelining, etc. (CS2200 or ECE3057). It may be beneficial to refresh your knowledge on these topics before taking this course. The course has a significant project component that heavily relies on C/C++ programming. You need to be familiar with C/C++ and Linux.
Course Material
- There is no required textbook for this course, but we strongly recommend Computer Architecture: A Quantitative Approach by John Hennessy and David Patterson, 5th Edition, Morgan Kauffman, 2012.
- Recommended readings will be provided later.
Grading
- Labs: 35%
- Lab 1: 5%
- Lab 2: 10%
- Lab 3: 10%
- Lab 4: 10%
- Homework: 4%
- HW 1: 2%
- HW 2: 2%
- Exams: 60%
- Midterm I: 20%
- Midterm II: 20%
- Final: 20%
- Participation: 1%
Course Schedule
- 12:30 pm – 1:45 pm, Tuesday & Thursday
- Klaus 2447
Calendar
Week | Lecture | Date | Topic | Assignments | Due |
---|---|---|---|---|---|
1 | 1 | 24-Aug | L01 - Course Introduction | Lab1 | 27-Aug, 11:59 pm |
1 | 2 | 26-Aug | L02 - Computer Architecture Overview | ||
2 | 3 | 31-Aug | L03 - Single Cycle MIPS Implementation | ||
2 | 4 | 2-Sep | L04 - Simple Pipeline & Hazards | Lab2 | |
3 | 5 | 7-Sep | L05 - Branch Prediction | ||
3 | 6 | 9-Sep | L06 - Branch Prediction & Superscalar Pipelines | ||
4 | 7 | 14-Sep | L07 - OoO Execution I: Hazards and Register Renaming | ||
4 | 8 | 16-Sep | L08 - OoO Execution II: Tomasulo’s Algorithm | Lab2 Part A, 18-Sep, 11:59 pm | |
5 | 9 | 21-Sep | L09 - OoO Execution III: Reorder Buffer Speculative Execution | Homework1 | |
5 | 10 | 23-Sep | L10 - OoO Execution IV: LSQ | Lab2 Part B, 25-Sep, 11:59 pm | |
6 | 11 | 28-Sep | L11 - OoO Execution V & Recap | Homework1, 28-Sep, 11:59 pm | |
6 | 30-Sep | Midterm I | |||
7 | 12 | 5-Oct | L12 - Multithreading & VLIW | Lab3, 6-Oct | |
7 | 13 | 7-Oct | L13 - Vectors and GPU | ||
8 | 12-Oct | Fall break | |||
8 | 14 | 14-Oct | L14 - Cache Basics | Lab3 Part A, 14-Oct, 11:59pm | |
9 | 15 | 19-Oct | L15 - Cache Optimization | Homework2 | |
9 | 16 | 21-Oct | L16 - Virtual Memory I | ||
10 | 17 | 26-Oct | L17 - Virtual Memory II | ||
10 | 18 | 28-Oct | L18 - DRAM | Lab3 Part B, 28-Oct, 11:59pm Homework2, 30-Oct, 11:59pm |
|
11 | 2-Nov | Midterm II | |||
11 | 19 | 4-Nov | L19 - Multiprocessors | Lab4 | |
12 | 20 | 9-Nov | L20 - Interconnect I | ||
12 | 21 | 11-Nov | L21 - Interconnect II | ||
13 | 22 | 16-Nov | L22 - Cache Coherence I | ||
13 | 23 | 18-Nov | L23 - Cache Coherence II | Lab4 Part A | |
14 | 24 | 23-Nov | L24 - Consistency | ||
14 | 25-Nov | Thanksgiving | |||
15 | 25 | 30-Nov | L25 - FPGA Acceleration and Software/hardware Co-design | Lab4 Part B | |
15 | 26 | 2-Dec | L26 - Domain-Specific Language and Compiler (guest lecture, virtual) | ||
16 | 27 | 7-Dec | L27 - Machine Learning in System Design (guest lecture, virtual) | ||
16 | 28 | 9-Dec | NULL | ||
17 | 13-Dec (Monday) | Final 11:20 AM ‐ 2:10 PM |
Recommended Reading List
Below is the reading list from Professor Yale N. Patt at the University of Texas at Austin. I will add more later related to this course.
http://users.ece.utexas.edu/~patt/18s.382N/handouts/
A good video for virtual memory (14 episodes, roughly 2 hours): https://www.youtube.com/playlist?list=PLiwt1iVUib9s2Uo5BeYmwkDFUh70fJPxX