Computer Architecture

Spring 2018

School of Information Science and Technology SIST
SchanghaiTech University

LectureTuesday, 10:15-11:55. 教学中心 (Teaching Center) 303
LectureThursday, 10:15-11:55. 教学中心 (Teaching Center) 303
DiscussionsWednesday 19:35-21:15. 教学中心 (Teaching Center) 303
Lab 1Monday, 13:00-14:40. SIST 1B-106; TA: Jianxiong Cai
Lab 2Monday, 15:00-16:40. SIST 1B-106; TA: Yuyang Rong
Lab 3Tuesday, 13:00-14:40. SIST 1B-106; TA: Anqi Pang
Lab 4Tuesday, 19:35-21:15. SIST 1B-106; TA: Junren Zheng
Lab 5Thursday, 13:00-14:40. SIST 1B-106; TA: Yiming Mao
Lab 6Thursday, 19:35-21:15. SIST 1B-106; TA: Zhonglin Nian
ForumPost all your questions on the forum.
ForumSubmit your homework and projects to autolab.
Schedule
Week Date Topic Reading Discussion Homework Lab Project
102-27 Introduction (pdf) P&H: 2.4 No Discussion HW1: Autolab
Due Mon., March 5, 23:55
No Lab
03-01 Introduction to C I (pdf) K&R Ch. 1-5
203-05 Introduction to C II (pdf) K&R Ch. 6-7 Discussion 1 HW 2: C Skiplist
Due Mon., March 19, 23:55
Lab 1
03-07 Introduction to C III (pdf)
303-13 Intro to Assembly Language, MIPS Intro (pdf) P&H: 2.1 - 2.3 Discussion 2 Lab 2
03-15 MIPS, MIPS Functions (pdf) P&H: 2.6 - 2.9, 2.10, A.6
403-20 MIPS Instruction Formats (pdf) P&H: 2.5, 2.10 Discussion 3 util.s HW 3: MIPS Quicksort
Due Mon., April 2, 23:55
Lab 3 Project 1.1: Assembler in C
Due Wednesday, April 4th, 23:55
03-22 Compiler, Assembler, Linker, Loader (CALL) (pdf) P&H: 2.12, A.1-A.4
503-27 Intro to Synchronous Digital Systems (SDS), Logic (pdf) P&H: B.2-B.3 Discussion 4 cond.c pthread.c Lab 4
03-29 Functional Units, FSMs (pdf) P&H: 4.2, B.3-B.6
604-03 MIPS Datapath, Single-Cycle Control Intro (pdf) P&H: 4.1, 4.3, 4.4 No Discussion HW 4: SDS
Due Mon., April 9, 23:55
Lab 5 Project 1.2 Linker in MIPS
Due Monday, April 16th, 23:55
04-05 Ching Ming Festival
704-10 MIPS Single-Cycle Control (pdf) P&H: 4.5-4.8 Discussion 5 (Project 2.1) HW 5: TSP
Due Mon., April 23, 23:55
Lab 6
Thu.: Lab 5
04-12 Guest Lecture Prof. Shu Yin
MIPS Pipelining (pdf)
P&H: 4.10, 4.11
804-17 Review for Midterm I; Intro Caches (pdf) P&H: 5.1 Discussion 6 Lab 7
Thu.: Lab 6
Project 2.1
Due: Friday, May 4th 23:55
(Midterm I first page)
04-19 Mid-Term I
904-24 Memory Hierarchy, Caches (pdf) P&H: 5.1 5.2 5.3 Discussion 7 Lab 8
Thu.: Lab 7
Midterm I pdf
Midterm I sol
04-26 Caches: Direct-mapped, Set-associative; Multilevel Caches (pdf) P&H: 5.4 5.8 1.6
1005-01 Labor Day No Discussion Thu.: Lab 8 Project 2.2
Due: Friday, May 25th 23:55
05-03 Performance and Floating Point Operations (pdf) P&H: 3.5 3.9
1105-08 Flynn Taxonomy, Data-Level Parallelism (pdf) P&H: 1.7, 1.8, 6.1, 6.2, 6.3, 6.7 Discussion 8 No Lab
05-10 Thread-Level Parallelism, OpenMP Intro (pdf) P&H: 6.5, 5.10, 2.11
1205-15 Review Midterm II; Cache Coherence, OpenMP Sharing Issues, Performance (pdf) P&H: 5.10 Discussion 9 HW 6: Caches
Due Mon., May 28, 23:55
Lab 9 (Midterm II first page)
Midterm II pdf
Midterm II sol
05-17 Midterm II
1305-22 Project 3 Details Lab 10 Project 3
Due: Wednesday, June 10th 23:55
05-24 Guest Lecture Prof. Yajun Ha: FPGAs (pdf)
1405-29 Warehouse Scale Computing, MapReduce (Spark) (pdf) The Datacenter as a Computer : Ch 1, Ch 2.4, Ch 3, 5.1-5.3 Discussion 10 (Spark) No Lab
05-31 OS Support, Base and Bounds, Interrupts, Virtual Memory Intro (pdf) P&H: 5.13, 5.15, 5.16
1506-05 More Virtual Memory (pdf) P&H: 6.9 (only p.4-10), 4.9 Discussion 11 (VM) HW 7: C++ Skiplist
Due Thursday, June 28th, 23:55
Lab 11 Project 4
Due: Monday, June 18th 23:55
06-07 I/O: DMA, Disks, Networking (pdf) P&H: 5.2, 5.5, 5.11
1606-12 Dependability: Parity, ECC, RAID (pdf) P&H: 5.5, B-65 to B-67 Discussion 12 (Final Review) Lab 12
06-14 Spectre, Meltdown, Summary Lecture (pdf)
1806-26 Tuesday, June 26th, 9:00-11:00; Teaching Center 301 + 302 Final pdf (updated)
Final solution
Instructor
Sören Schwertfeger
Sören Schwertfeger 师泽仁
<soerensch>
OH: You are always welcome! Tuesday 13:00-15:00; Room: 1D 201A

TAs
Please check the TA office hours on piazza.
Yijun Yuan
Yijun Yuan
<yuanwj>
Head TA
Yang Zhou
Yang Zhou
<zhouyang>
Jianxiong Cai
Jianxiong Cai
<caijx>
Anqi Pang
Anqi Pang
<pangaq>
Yuyang Rong
Yuyang Rong
<rongyy>
Yiming Mao
Yiming Mao
<maoym>
Yonhao Liu
Junren Zheng
<zhengjr>
Zhonglin Nian
Zhonglin Nian
<nianzhl>
Chengyue Jiang
Chengyue Jiang
<jiangchy>

Syllabus

Check the syllabus for the CA course on egate.

Textbook

P&H
Patterson, David A. and Hennessy, John L. Computer Organization and Design 5th 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.