Computer Architecture

Spring 2021

School of Information Science and Technology SIST
SchanghaiTech University

Lecture Tuesday, 10:15-11:55. 教学中心 (Teaching Center) 101
Lecture Thursday, 10:15-11:55. 教学中心 (Teaching Center) 101
Discussions Monday, 20:30-21:30. 教学中心 (Teaching Center) 201
Discussions Wednesday, 21:00-22:00. 教学中心 (Teaching Center) 201
Lab 1 Monday, 15:55-17:35. SIST 1A-104; TA: Peifan Li
Lab 2 Tuesday, 19:35-21:30. SIST 1A-104; TA: Zhang Chibin
Lab 3 Tuesday, 19:50-21:30. SIST 1A-106; TA: Ziyi Yu
Lab 4 Tuesday, 19:35-21:30. SIST 1A-108; TA: Ye Zhe
Lab 5 Tuesday, 19:35-21:30. SIST 1B-108; TA: Qiyuan Dai
Lab 6 Tuesday, 15:55-17:35. SIST 1A-104; TA: Teng Xu
Lab 7 Tuesday, 15:55-17:35. SIST 1A-106; TA: Zihao Diao
Lab 8 Tuesday, 15:55-17:35. SIST 1A-108; TA: Guancheng Li
Lab 9 Monday, 15:55-17:35. SIST 1B-106; TA: Wang Chenyu
Forum Post all your questions on the forum.
Autolab Submit your homework and projects to autolab.
Gradescope Some homework and exames will be available on gradescope.
Schedule
Week Date Topic Reading Discussion Homework Lab Project
1 02-23 Introduction (PDF) P&H: 2.4 HW 1 on Autolab!
Due: Tuesday, March 02
No Lab
02-25 Intro to C I (PDF) K&R: 1-6
2 03-02 Intro to C II (PDF updated Mar 04) K&R Ch. 7-8, App A & B Discussion 2 HW 2
Due: Friday, March 19
Lab 1
03-04 RISC-V Intro (PDF) P&H: 2.1 - 2.3
3 03-09 RISC-V Decisions (PDF) P&H: 2.6, 2.7, 2.9, 2.10 Discussion 3 Lab 2 Project 1.1
Due: Friday, March 26
03-11 RISC-V Instruction Formats (PDF) P&H: 2.5, 2.10
4 03-16 RISC-V Multiplication & Floating Point Numbers (PDF) P&H: 3.3 - 3.5 Discussion 4 HW 3
Due: Friday, April 02
Lab 3
03-18 Compiler, Assembler, Linker, Loader (CALL) (PDF) P&H: 2.12
5 03-23 Intro to Synchronous Digital Systems (SDS), Logic (PDF) P&H: A.2, A.3 Discussion 5 Lab 4 Project 1.2
Due: Friday, April 16
03-25 Functional Units, FSM (PDF) P&H: A.3 - A.6
6 03-30 RISC-V Datapath (PDF) P&H: 4.1, 4.2, 4.3 Discussion 6 Lab 5
04-01 RISC-V Single-Cycle Control (PDF) P&H: 4.5 - 4.8
7 04-06 Midterm I Discussion 7 HW 4
Due: Wednesday, April 21
Solution
No Lab Midterm I
Midterm I solution
04-08 RISCV 5-Stage Pipeline/Hazards (PDF) P&H: 4.5 - 4.9
8 04-13 Superscalar (PDF) P&H: 4.10, 4.11 Discussion 8 Lab 6 Project 2.1
Due: Friday, April 30
04-15 Performance & Midterm I Review (PDF) P&H: 6.10, 6.11
9 04-20 Memory Hierarchy, Fully Associative Caches (PDF) P&H: 5.1, 5.2, 5.3, 5.4 Discussion 9 HW 5
Due: Wednesday, May 12
Lab 7
04-22 Caches: Direct-mapped, Set-associative, Program Performance with Caches (PDF) P&H: 5.1, 5.2, 5.3, 5.4, 5.8, 1.6
04-25 Multilevel Caches, Cache Questions (PDF) P&H: 5.1, 5.2, 5.3, 5.4, 5.8, 1.6
10 04-27 Flynn Taxonomy, Data-Level Parallelism (PDF) P&H: 1.7, 1.8, 4.10, 4.11, 6.1, 6.2, 6.3, 6.7 Discussion 10 Lab 8
04-29 Thread-Level Parallelism, OpenMP Intro (PDF) P&H: 2.11, 5.10, 6.4, 6.5
11 05-06 Cache Coherence, OpenMP Sharing Issues (PDF) P&H: 2.11, 4.10, 5.10, 6.4, 6.5 No Discussion HW 6 ($ on paper)
Due: Wed May 19
Solution
No Lab Project 2.2
Due: Wednesday, May 19
12 05-11 Midterm II Discussion 11 Lab 9 Midterm II
Midterm II solution
05-13 OS Support, Base and Bounds, Interrupts (PDF) P&H: 5.13, 5.15, 5.16
13 05-18 Virtual Memory (PDF) P&H: 6.9, 4.9 Discussion 12
Video Disc 12
HW 7 (C++)
Due: Fri June 4
Lab 10
Checkup P. 1.1 & 1.2
Project 3
Due: Monday, May 31
05-20 FPGA (PDF) P&H: A.12
14 05-25 Warehouse Scale Computing, MapReduce, Spark (PDF) P&H: 6.7 Discussion 13 Lab 11
Checkup P. 2.1 & 2.2
05-27 DMA, Disks, Networking (PDF)
15 06-01 Advanced Cache Topics & Midterm II Review (PDF) P&H: 5.1, 5.2, 6.9 Discussion 14 HW 8 (VM on paper)
Due: Friday, June 11
Solution
Lab 12
Checkup P. 3
Project 4
Due: P4 checkup week 17
06-03 Dependability: Parity, ECC, RAID (PDF) P&H: 5.2, 5.5, 5.11, A.9
16 06-08 Security (PDF) Meltdown & Spectre Lab 13
06-10 Summary (PDF) P&H: All
17 06-17
10:30 - 12:30
Final Project 4 Checkup
Final
Final solution
Instructor
Sören Schwertfeger
Sören Schwertfeger 师泽仁
<soerensch>
OH: You are always welcome! Wed. 10:00-15:00; Room: 1D 201.A
Chundong Wang
Chundong Wang
<wangchd>
OH: Fri. 9:00-11:00; Room: 1A 504.D

TAs
Please check the TA office hours on piazza.
Kaiyuan Xu
Kaiyuan Xu
<xuky>
Head TA
Tiansu Chen
Tiansu Chen
<chents>
QiYuan Dai
QiYuan Dai
<daiqy>
Zihao Diao
Zihao Diao
<diaozh>
Guancheng Li
Guancheng Li
<ligch>
Peifan Li
Peifan Li
<lipf>
Shaoting Peng
Shaoting Peng
<pengsht>
Chenyu Wang
Chenyu Wang
<wangchy4>
Jinrui Wang
Jinrui Wang
<wangjr>
Teng Xu
Teng Xu
<xuteng>
Zhe Ye
Zhe Ye
<yezhe>
Ziyi Yu
Ziyi Yu
<yuzy>
Chibin Zhang
Chibin Zhang
<zhangchb1>
Yuting Zheng
Yuting Zheng
<zhengyt1>

Syllabus

Check the syllabus for the CA course on egate.

Textbook

P&H
Patterson, David A. and Hennessy, John L. Computer Organization and Design RISC-V edition. Morgan Kaufmann.

References

K&R
Kernighan, Brian W. and Ritchie, Dennis M. The C Programming Language (2rd ed.). Prentice Hall.

Requirements

Reading
Read the chapters before class. I will not read the textbook to you during class. Rather, I will help you better understand certain materials in the textbook.
Class participation
Participate actively in the discussions both in class and on the forum.
Communication
Read your email and the forum at least once in any 12 hour period (including weekends and holidays), as I may post important announcements.

Grading

The Engineering Design course consists of projects done in parallel to the Computer Architecture course. The projects thus contribute 33% to your overall score. Neither CA nor the project can be taken without the other.

Resources

Feedback

We always welcome any feedback on what we could do better. You are also welcome to send us feedback anonymously if you like.