Great Ideas in Computer Architecture (Machine Structures)

CS 61C at UC Berkeley with Dan Garcia, Lisa Yan - Fall 2022

Lecture: Monday/Wednesday/Friday 10:00AM - 11:00AM PT, VLSB 2050 + Online

Week Date Lecture Discussion Lab HW Project
1 Wed 8/24 Lecture 1: Intro
Readings: Course Policies
Lab 0: Intro, Setup Due 8/29
Thu 8/25
Fri 8/26 Lecture 2: Number Representation
Readings: P&H:2.4, Binary slides
Homework 1: Number Representation Due 9/02
2 Mon 8/29 Lecture 3: C Intro - Basics Discussion 1: Number Representation
Lab 1: C, CGDB Due 9/02 Project 1: snek Due 9/14
Tue 8/30
Wed 8/31 Lecture 4: C Intro - Pointers, Arrays, Strings
Readings: K&R 5-6
Thu 9/1
Fri 9/2 Lecture 5: C Memory (Mis)Management
Readings: K&R 7.8.5, 8.7
3 Mon 9/5 No lecture: Holiday Lab 2: C Memory Management, Valgrind Due 9/09
Tue 9/6 Discussion 2: C
Homework 2: C, Pointers, and Memory Due 9/12
Wed 9/7 Lecture 6: Floating Point
Readings: P&H 3.5, 3.9, IEEE 754 Simulator
Thu 9/8
Fri 9/9 Lecture 7: Intro to Assembly Language, RISC-V
Readings: P&H 2.1-2.3
4 Mon 9/12 Lecture 8: RISC-V Data Transfer
Readings: P&H 2.9, 2.10
Discussion 3: Floating Point
Lab 3: RISC-V Assembly Due 9/16
Tue 9/13 Homework 3: Floating Point Due 9/19
Wed 9/14 Lecture 9: RISC-V Decision Making Logical Ops
Readings: P&H 2.6, 2.7, 3.2
Thu 9/15 Project 2: CS61Classify A: Due 9/21 B: Due 10/05
Fri 9/16 Lecture 10: RISC-V Procedures
Readings: P&H 2.8
5 Mon 9/19 Lecture 11: RISC-V Instruction Formats I
Readings: P&H 2.5, 2.10
Discussion 4: RISC-V Intro, Control Flow
Lab 4: RISC-V Calling Convention Due 9/23
Tue 9/20 Homework 4: RISC-V Due 9/26
Wed 9/21 Lecture 12: RISC-V Instruction Formats II
Readings: P&H 2.5, 2.10
Thu 9/22
Fri 9/23 Lecture 13: Compiler, Assembler, Linker, Loader
Readings: P&H 2.12
6 Mon 9/26 Lecture 14: Intro to Synchronous Digital Systems
Readings: SDS Handout
Discussion 5: RISC-V Procedures, ISA, CALL
Tue 9/27 Homework 5: Logic, Timing Due 10/10
Wed 9/28 Lecture 15: Combinational Logic
Readings: P&H A.2-A.3, Logic Handout
Thu 9/29
Fri 9/30 Lecture 16: SDS State, FSMs
Readings: P&H A.3-A.6, State Handout
7 Mon 10/3 Lecture 17: Combinational Logic Blocks
Readings: Blocks Handout
Discussion 6: SDS, Logic, FSM Lab 5: Logisim Due 10/07
Tue 10/4
Wed 10/5 Lecture 18: RISC-V Single-Cycle Datapath I
Readings: P&H 4.1, 4.3
Thu 10/6 Project 3: CS61CPU A: Due 10/19 B: Due 11/09
Fri 10/7 Lecture 19: RISC-V Single Cycle Datapath II
Readings: P&H 4.4
8 Mon 10/10 Lecture 20: RISC-V Single-Cycle Control
Readings: P&H 4.4, 4.5
Discussion 7: Single-Cycle Datapath
Tue 10/11 Homework 6: RISC-V Datapath Due 10/24
Wed 10/12 Lecture 21: RISC-V 5-Stage Pipeline I
Readings: P&H 4.6
Thu 10/13
Fri 10/14 Lecture 22: RISC-V 5-Stage Pipeline II, Hazards
Readings: P&H 4.7, 4.8
9 Mon 10/17 Lecture 23: RISC-V 5-Stage Pipeline III, Hazards
Readings: P&H 4.10
Discussion 8: Pipelining, Hazards Lab 6: Pipeling, CPU Due 10/21
Tue 10/18
Wed 10/19 Lecture 24: Caches - Direct Mapped I
Readings: P&H 5.1-5.4, 5.8, 5.9, 5.13, Cache Flowchart
Thu 10/20
Fri 10/21 Lecture 25: Caches - Direct Mapped II
Readings: P&H 5.1-5.4, 5.8, 5.9, 5.13, Cache Flowchart
10 Mon 10/24 Lecture 26: Caches - Multilevel
Readings: P&H 5.1-5.4, 5.8, 5.9, 5.13, Cache Flowchart
Discussion 9: Caches, AMAT Lab 7: Caches Due 10/28
Tue 10/25 Homework 7: Caches Due 10/31
Wed 10/26 Lecture 27: Caches - Set-associative, Performance with Caches
Readings: P&H 5.1-5.4, 5.8, 5.9, 5.13, Cache Flowchart
Thu 10/27
Fri 10/28 Lecture 28: Flynn Taxonomy, SIMD
Readings: P&H 1.7, 1.8, 4.10, 4.11, 6.1-6.3, 6.7
11 Mon 10/31 Lecture 29: Parallelism I: Thread-level Parallelism
Readings: P&H 2.11, 4.10, 5.10, 6.5, OpenMP Summary Card
Discussion 10: Data-level Parallelism Lab 8: SIMD Instructions Due 11/04
Tue 11/1
Wed 11/2 Lecture 30: Parallelism II: OpenMP, Sharing Issues
Readings: P&H 2.11, 4.10, 5.10, 6.5, OpenMP Summary Card
Thu 11/3
Fri 11/4 Lecture 31: Parallelism III: cache Coherence, Performance
Readings: P&H 2.11, 4.10, 5.10, 6.5, OpenMP Summary Card
12 Mon 11/7 Lecture 32: OS
Readings: P&H 5.7-5.8
Discussion 11: Coherency, Atomic, Thread Level Parallelism Lab 9: Thread Level Parallelism Due 11/14
Tue 11/8 Homework 8: Performance Programming Due 11/14
Wed 11/9 Lecture 33: Virtual Memory I
Readings: P&H 5.7-5.8
Thu 11/10 Project 4: Optimization Due 11/30
Fri 11/11 No lecture: Holiday
13 Mon 11/14 Lecture 34: Virtual Memory II
Readings: P&H 5.7-5.8
Discussion 12: OS, VM Lab 10: OS, I/O, VM Due 11/18
Tue 11/15 Homework 9: OS, I/O, VM Due 11/21
Wed 11/16 Lecture 35: I/O
Readings: P&H 5.2, 5.5, 5.11, A-64 to B-66
Thu 11/17
Fri 11/18 Lecture 36: MapReduce, Spark, Amdahl's Law, Data-level Parallelism
Readings: WSC 1, 2.4, 3, 5.1-5.3, P&H 6.7
14 Mon 11/21 Lecture 37: Dependability, Parity, ECC, RAID
Readings: P&H 5.2, 5.5, 5.11
Discussion 13: I/O
Tue 11/22 Homework 10: ECC, Dependability, Parity, Potpourri Due 12/02
Wed 11/23 No lecture: Holiday
Thu 11/24
Fri 11/25 No lecture: Holiday
15 Mon 11/28 Lecture 38: Data centers, Warehouse Scale computing
Readings: WSC 1, 2.4, 3, 5.1-5.3
Discussion 14: WSC, RAID, Parity, ECC
Tue 11/29
Wed 11/30 Lecture 39: Guest Lecture: TBD
Thu 12/1
Fri 12/2 Lecture 40: Summary, What's Next?
16 Mon 12/5 RRR Week
Tue 12/6 RRR Week
Wed 12/7 RRR Week
Thu 12/8 RRR Week
Fri 12/9 RRR Week
17 Mon 12/12 Final: 8-11AM PT