Course Information

Computer architecture is a foundation for computer scientists and engineers. CS211 is intended for students who are with basic understandings of computer architecture and interested in pursuing research in computer architecture or related fields. CS211 will help students to observe and explore computer architecture in both macroscopic and microscopic dimensions. The goal of CS211 is to make students better understand how software and hardware cooperate and gain knowledge from the classic and state-of-the-art with regard to technology, applications, and economics that drive continuing changes in the area of computer architecture.

The topics covered by CS211 will include (but are not limited to): instructions and instruction set, memory hierarchy, pipeline, out-of-order execution, speculative execution, graphics processing unit, caching, memory consistency, multi-threading, vectors, virtual machines, cluster and distributed computing, etc.


Course Staff

Instructor: Chundong Wang, wangchd <the-at-sign> shanghaitech.edu.cn.

Office Hours: 14:00 - 16:00, every Thursday of Fall 2020 (except public holidays), at SIST 1A-504.D.

TA: Wei Jiang, jiangwei1<the-at-sign> shanghaitech.edu.cn.

TA: Keyan Zhai, zhaiky<the-at-sign> shanghaitech.edu.cn.


Course Resources

Please download this zip file for the requirements for paper reading as well as the LaTex template to prepare summaries.


Course Schedule

Lecture Date   Topic   Notes
L01 Mon 02/09/2020   Introduction and Review I (L01 slides)   L01 Survey
L02 Wed 09/09/2020   Introduction and Review II (L02 slides)   Lab 0 (Due 23/09/2020)
L03 Mon 14/09/2020   Microcode, ISA (L03 slides)   Reverse Polish Notation, RISC-V ISA
L04 Mon 21/09/2020   Pipeline I (L04 slides)   Trap
L05 Wed 23/09/2020   Pipeline II (L05 slides)  
L06 Sun 27/09/2020   Memory Hierarchy I (L06 slides)  
L07 Mon 28/09/2020   Memory Hierarchy II (L07 slides)  
L08 Mon 12/10/2020   Memory Hierarchy III (L08 slides)  
L09 Mon 19/10/2020   Out-of-order Execution (L09 slides)  
L10 Wed 21/10/2020   Branch Prediction (L10 slides)  
L11 Mon 26/10/2020   Superscalar & VLIW (L11 slides)  
L12 Mon 02/11/2020   Multithreading (L12 slides)  
L13 Wed 04/11/2020   Vectors (L13 slides)  
Mon 09/11/2020   Mid-term Exam  
L14 Mon 16/11/2020   GPU (L14 slides)  
L15 Wed 18/11/2020   Cache Coherence (L15 slides)  
L16 Mon 23/11/2020   Memory Consistency (L16 slides)   A Tutorial on MCM
L17 Mon 30/11/2020   Sychronization (L17 slides)  
L18 Wed 02/12/2020   Virtual Machines (L18 slides)  
L19 Mon 07/12/2020   IO, WSC (L19 slides)  
L20 Mon 14/12/2020   Security (L20 slides)  
Wed 16/12/2020   Lab and Paper Presentations  
L21 Mon 21/12/2020   Summary (L21 slides)