Great Ideas in Computer Architecture (Machine Structures)

CS 61C at UC Berkeley with Nicholas Weaver, John Wawrzynek - Fall 2021

Lecture: Monday/Friday 8:30AM - 10:00AM PT, 310 Soda and Online

Week Date Lecture Reading Lab & Discussion HW & Project
1 Fri 8/27 Lecture 1: Intro, Number Representation Course Policies
2 Mon 8/30 Lecture 2: C Intro K&R Ch. 1-5 C Reference Slides
Brian Harvey's Intro to C
Discussion 1: Number Rep
Lab 0: Intro and Setup Due 9/10
Tue 8/31 Homework 1: Number Rep Due 9/15
Fri 9/3 Lecture 3: C Arrays, Pointers, Strings K&R 5-6 Project 1: Philphix Due 9/20
3 Mon 9/6 No lecture: Holiday Discussion 2: C Basics
Lab 1: C and GDB Due 9/10
Tue 9/7 Homework 2: C Concepts Due 9/22
Fri 9/10 Lecture 4: C Memory Management, Usage K&R 7.8.5, 8.7
4 Mon 9/13 Lecture 5: Floating Point P&H 3.5, 3.9
IEEE 754 Simulator
Discussion 3: Floating Point
Lab 2: Advanced C, Valgrind Due 9/17
Tue 9/14 Homework 3: Floating Point Due 9/24
Fri 9/17 Lecture 6: Assembly, RISC-V Intro P&H 2.1-2.3, 2.9-2.10
5 Mon 9/20 Lecture 7: RISC-V, RISC-V Functions P&H 2.6-2.8, 3.2 Discussion 4: RISC-V Intro, Control Flow, ISA
Lab 3: RISC-V Assembly Due 9/24
Project 2: CS61Classify A: Due 10/04 B: Due 10/11
Tue 9/21 Homework 4: RISC-V Due 10/01
Fri 9/24 Lecture 8: RISC-V Instruction Formats P&H 2.5, 2.10
6 Mon 9/27 Lecture 9: Compiler, Assembler, Linker, Loader (CALL) P&H 2.12 Discussion 5: RISC-V Procedures, CALL
Lab 4: RISC-V Functions, Pointers Due 10/01
Tue 9/28
Fri 10/1 Lecture 10: Synchronous Digital Systems (SDS) SDS Handout
7 Mon 10/4 Lecture 11: Functional Units, FSMs Discussion 6: Logic, SDS, FSMs
Lab 5: Logisim Due 10/08
Tue 10/5 Homework 5: Logic, Timing Due 10/15
Fri 10/8 Lecture 12: RISC-V Datapath, Single-Cycle Control Intro P&H 4.1, 4.3
8 Mon 10/11 Lecture 13: RISC-V Single-Cycle Control P&H 4.4 Discussion 7: Single-Cycle Datapath
Lab 6: Pipelining, CPU, Mid-Semester Survey Due 10/22
Project 3: CS61CPU A: Due 10/25 B: Due 11/08
Tue 10/12 Homework 6: RISC-V Datapath Due 10/22
Fri 10/15 Lecture 14: RISC-V 5-Stage Pipeline/Hazards P&H 4.6-4.10
9 Mon 10/18 Lecture 15: Memory Hierarchy, Fully Associative Caches P&H 5.1-5.4, 5.8-5.9, 5.13
Cache Flowchart
Discussion 8: Pipelining, Hazards
Tue 10/19 Midterm: 7:00 PM–9:00 PM PT Homework 7: Caches Due 10/30
Fri 10/22 Lecture 16: Direct-Mapped & Set-Associative Caches, Cache Performance P&H 5.1-5.4, 5.8-5.9, 5.13
Cache Flowchart
10 Mon 10/25 Lecture 17: Multi-Level Caches, Cache Questions P&H 5.1-5.4, 5.8-5.9, 5.13
Cache Flowchart
Discussion 9: Caches
Lab 7: Caches Due 10/29
Tue 10/26
Fri 10/29 Lecture 18: Operating Systems P&H 5.7, 5.8
11 Mon 11/1 Lecture 19: Virtual Memory P&H 5.7, 5.8 Discussion 10: OS, Virtual Memory
Lab 8: OS, Virtual Memory Due 11/05
Tue 11/2 Homework 8: OS, I/O Due 11/12
Fri 11/5 Lecture 20: I/O P&H 5.2, 5.5, 5.11, A64-B66
12 Mon 11/8 Lecture 21: Flynn's Taxonomy, Data-Level Parallelism P&H 2.11, 4.10, 5.10, 6.5 Discussion 11: I/O
Lab 9: Data-Level Parallelism Due 11/12
Tue 11/9 Homework 9: Virtual Memory Due 11/19
Fri 11/12 Lecture 22: Amdahl's Law, Thread-Level Parallelism, OpenMP Introduction P&H 2.11, 4.10, 5.10, 6.5
OpenMP Summary Card
Project 4 Due 11/29
13 Mon 11/15 Lecture 23: Cache Coherence, OpenMP Sharing Issues, Performance P&H 2.11, 4.10, 5.10, 6.5
OpenMP Summary Card
Discussion 12: Data-Level Parallelism
Lab 10: Thread-Level Parallelism Due 11/19
Tue 11/16 Homework 10: Performance Programming, Dependability Due 12/03
Fri 11/19 Lecture 24: Dependability, Parity, ECC, RAID P&H 5.2, 5.5, 5.11
14 Mon 11/22 Lecture 25: Warehouse-Scale Computing Discussion 13: Coherency, Atomics, Parallellism
Tue 11/23 Homework 11: ECC, Parity, Potpourri Due 12/03
Fri 11/26
15 Mon 11/29 Lecture 26: Review, Interesting Miscellaneous Things Discussion 14: WSC, RAID, Map Reduce, Parity, ECC
Tue 11/30
Fri 12/3 Lecture 27: Summary, What's Next?
16 Mon 12/6 RRR Week
17 Mon 12/13 Final: 7-10PM