Advanced Computer Architecture (Fall 2022)
ECE6100/ECE4100/CS4290/CS6290
Course Staff
- Instructor: Prof. Cong (Callie) Hao
- Email: callie.hao@ece.gatech.edu
- Class Location and Time: Klaus 2447, 3:30 pm – 4:45 pm, Tuesday & Thursday
- Office Hour: after class, ~5:30 pm, in Klaus 2306
- Teaching Assistant: Nathan Wong
- Email: nwong36@gatech.edu
- Recitation Location and Time: Klaus 2448, Thursday 11:00am – 12:00pm
- Office Hour: Klaus 2448, Tuesday 11:00am – 12:00pm
- [New] Lab 1 and HW 0 download
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.
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%
Calendar
Week | Lecture | Date | Topic | Assignments | Due |
---|---|---|---|---|---|
1 | 1 | 23-Aug | L01 - Course Introduction | Lab 1 | |
1 | 2 | 25-Aug | L02 - Computer Architecture Overview | Lab 1 26-Aug, 11:59pm |
|
2 | 3 | 30-Aug | L03 - Single Cycle MIPS Implementation | ||
2 | 4 | 1-Sep | L04 - Simple Pipeline & Hazards | Lab 2 | |
3 | 5 | 6-Sep | L05 - Branch Prediction | ||
3 | 6 | 8-Sep | L06 - Branch Prediction & Superscalar Pipelines | ||
4 | 7 | 13-Sep | L07 - OoO Execution I: Hazards and Register Renaming | ||
4 | 8 | 15-Sep | L08 - OoO Execution II: Tomasulo’s Algorithm | Lab 2 Part A 16-Sep |
|
5 | 9 | 20-Sep | L09 - OoO Execution III: Reorder Buffer Speculative Execution | Homework 1 | |
5 | 10 | 22-Sep | L10 - OoO Execution IV: LSQ | Lab 2 Part B 23-Sep HW1: 25-Sep |
|
6 | 11 | 27-Sep | L11 - OoO Execution V & Recap | ||
6 | 29-Sep | Midterm I | Lab 3 | ||
7 | 12 | 4-Oct | L12 - Multithreading & VLIW | ||
7 | 13 | 6-Oct | L13 - Vectors and GPU | ||
8 | 14 | 11-Oct | L14 - Cache Basics | ||
8 | 15 | 13-Oct | L15 - Cache Optimization | Homework 2 | Lab 3 Part A 13-Oct |
9 | 18-Oct | Fall break | |||
9 | 16 | 20-Oct | L16 - Virtual Memory I | ||
10 | 17 | 25-Oct | L17 - Virtual Memory II | ||
10 | 18 | 27-Oct | L18 - DRAM | Lab 3 Part BC 27-Oct HW2: 30-Oct |
|
11 | 1-Nov | Midterm II | Lab 4 | ||
11 | 19 | 3-Nov | L19 - Multiprocessors | ||
12 | 20 | 8-Nov | L20 - Interconnect I | ||
12 | 21 | 10-Nov | L21 - Interconnect II | ||
13 | 22 | 15-Nov | L22 - Cache Coherence I | ||
13 | 23 | 17-Nov | L23 - Cache Coherence II | ||
14 | 22-Nov | Reading Period | Lab 4 Part ABC 22-Nov |
||
14 | 24-Nov | Thanksgiving | |||
15 | 24 | 29-Nov | L24 - Cache Coherence III | ||
15 | 25 | 1-Dec | L25 - Consistency | Lab 4 Part DEF 1-Dec |
|
16 | 26 | 6-Dec | L26 - Machine Learning in System Design (guest lecture, virtual) | ||
16 | 8-Dec | Reading Period | |||
17 | Tuesday, Dec 13 | 2:40 PM ‐ 5:30 PM |
Recommended Reading List
- Below is the reading list from Professor Yale N. Patt at the University of Texas at Austin
- 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