Advanced Computer Architecture (Fall 2023)
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 Assistants and Office Hours:
- Sebastian Jankowski: sjankowski6@gatech.edu
- Anna Raymaker: araymaker3@gatech.edu
- Daniel Butterfield: dbutterfield3@gatech.edu
- Office Hour: TBD
- Recitation: TBD
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 Release | Due |
---|---|---|---|---|---|
1 | 1 | 22-Aug | L01 - Course Introduction | Lab 1 | |
1 | 2 | 24-Aug | L02 - Computer Architecture Overview | Lab 1 28-Aug, 11:59pm |
|
2 | 3 | 29-Aug | L03 - Single Cycle MIPS Implementation | Lab 2 | |
2 | 4 | 31-Aug | L04 - Simple Pipeline & Hazards | ||
3 | 5 | 5-Sep | L05 - Branch Prediction | ||
3 | 6 | 7-Sep | L06 - Branch Prediction & Superscalar Pipelines | ||
4 | 7 | 12-Sep | L07 - OoO Execution I: Hazards and Register Renaming | ||
4 | 8 | 14-Sep | L08 - OoO Execution II: Tomasulo’s Algorithm | Homework 1 | Lab 2 Part A 14-Sep, 11:59pm |
5 | 9 | 19-Sep | L09 - OoO Execution III: Reorder Buffer Speculative Execution | ||
5 | 10 | 21-Sep | L10 - OoO Execution IV: LSQ | Lab 2 Part B 23-Sep, 11:59pm |
|
6 | 11 | 26-Sep | L11 - OoO Execution V & Recap | HW1: 26-Sep, 11:59pm | |
6 | 28-Sep | Midterm I | Lab 3 | ||
7 | 12 | 3-Oct | L12 - Multithreading & VLIW | ||
7 | 13 | 5-Oct | L13 - Vectors and GPU | ||
8 | 10-Oct | Fall break | |||
8 | 14 | 12-Oct | L14 - Cache Basics | ||
9 | 15 | 17-Oct | L15 - Cache Optimization | Homework 2 | Lab 3 Part A 13-Oct |
9 | 16 | 19-Oct | L16 - Virtual Memory I | ||
10 | 17 | 24-Oct | L17 - Virtual Memory II | ||
10 | 18 | 26-Oct | L18 - DRAM | Lab 3 Part BC 27-Oct HW2: 30-Oct |
|
11 | 31-Oct | Midterm II | Lab 4 | ||
11 | 19 | 2-Nov | L19 - Multiprocessors | ||
12 | 20 | 7-Nov | L20 - Interconnect I | ||
12 | 21 | 9-Nov | L21 - Interconnect II | ||
13 | 22 | 14-Nov | L22 - Cache Coherence I | ||
13 | 23 | 16-Nov | L23 - Cache Coherence II | ||
14 | 24 | 21-Nov | L24 - Cache Coherence III | Lab 4 Part ABC 22-Nov |
|
14 | 24-Nov | Thanksgiving | |||
15 | 25 | 28-Nov | L25 - Consistency | ||
15 | 30-Nov | Reading Period | Lab 4 Part DEF 1-Dec |
||
16 | 5-Dec | Reading Period | |||
16 | 7-Dec | Reading Period | |||
17 | Dec 12 (Tue) | 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