Great Ideas in Computer Architecture (Machine Structures)

CS 61C at UC Berkeley with Lisa Yan, Justin Yokota - Spring 2024

Lecture: Monday/Wednesday/Friday 10:00AM - 11:00AM PT, Dwinelle 155
Recordings will be published to bCourses Media Gallery

Week Date Lecture Discussion Lab HW Project
1 Mon 1/15 No lecture: Holiday
Tue 1/16
Wed 1/17 Lecture 1: Intro
Readings: Course Policies
Lab 0: Intro, Setup Due 1/21
Thu 1/18
Fri 1/19 Lecture 2: C Intro - Basics Homework 1: C Intro and Number Rep Due 1/25
2 Mon 1/22 Lecture 3: C - Pointers, Arrays, Strings
Readings: K&R 5-6
Lab 1: C Due 1/23 Project 1: snek Due 2/06
Tue 1/23
Wed 1/24 Lecture 4: Number Representation
Readings: P&H:2-4, Binary Slides
Discussion 1: C, Number Rep
Thu 1/25
Fri 1/26 Lecture 5: C - Memory Management
Readings: K&R 7.8.5, 8.7
Homework 2: Number Rep and C Memory Due 2/01
3 Mon 1/29 Lecture 6: Floating Point
Readings: IEEE 754 Simulator
Lab 2: C Debugging Due 1/30
Tue 1/30
Wed 1/31 Lecture 7: C - Generics, Function Pointers
Readings: K&R 5.11
Discussion 2: Floating Point / C
Thu 2/1
Fri 2/2 Lecture 8: Intro to Assembly Language, RISC-V
Readings: P&H 2.1-2.3
Homework 3: Advanced C, Floating Point Due 2/08
4 Mon 2/5 Lecture 9: RISC-V Data Transfer
Readings: P&H 2.9, 2.10
Tue 2/6
Wed 2/7 Lecture 10: RISC-V Decision Making, Logical Ops
Readings: P&H 2.6, 2.7, 3.2
Discussion 3: RISC-V
Project 2: CS61Classify A: Due 2/20 B: Due 3/05
Thu 2/8
Fri 2/9 Lecture 11: RISC-V Procedures
Readings: P&H 2.8
Homework 4: RISC-V Due 2/15
5 Mon 2/12 Lecture 12: RISC-V Instruction Formats I
Readings: P&H 2.5, 2.10
Lab 3: RISC-V, Venus Due 2/13
Tue 2/13
Wed 2/14 Lecture 13: RISC-V Instruction Formats II
Readings: P&H 2.5, 2.10
Discussion 4: Assembly, ISA
Thu 2/15
Fri 2/16 Lecture 14: Compiler, Assembler, Linker, Loader
Readings: P&H 2.12
Homework 5: RISC-V, CALL Due 2/22
6 Mon 2/19 No lecture: Holiday
Tue 2/20
Wed 2/21 Lecture 15: Intro to SDS / Boolean Algebra
Readings: SDS Handout
Discussion 5: CALL, Boolean Algebra
Thu 2/22
Fri 2/23 Lecture 16: State, Registers
Readings: P&H A.3-A.6, State Handout
Homework 6: Intro to SDS Due 2/29
7 Mon 2/26 Lecture 17: Combinational Blocks: MUX and ALU
Readings: Blocks Handout
Lab 4: RISC-V Calling Convention Due 2/27
Tue 2/27
Wed 2/28 Lecture 18: RISC-V Single-Cycle Datapath I
Readings: P&H 4.1, 4.3
Discussion 6: SDS, Logic
Thu 2/29
Fri 3/1 Lecture 19: RISC-V Single Cycle Datapath II
Readings: P&H 4.4
Homework 7: Single-Cycle Datapath Due 3/07
8 Mon 3/4 Lecture 20: RISC-V Single-Cycle Control
Readings: P&H 4.4, 4.5
Tue 3/5
Wed 3/6 Lecture 21: RISC-V Datapath Review Discussion 7: Single Cycle Datapath
Project 3: CS61CPU A: Due 3/20 B: Due 4/09
Thu 3/7
Fri 3/8 Lecture 22: RISC-V 5-Stage Pipeline I: Intro
Readings: P&H 4.6, 4.7, 4.8
9 Mon 3/11 Lecture 23: RISC-V 5-Stage Pipeline II: Hazards
Readings: P&H 4.8, 4.10
Lab 5: Logisim Due 3/12
Tue 3/12
Wed 3/13 No lecture: Midterm 7-9PM Discussion 8: Pipelining, Hazards
Thu 3/14
Fri 3/15 Lecture 24: FSM, OS
Readings: P&H A.2-A.3, Logic Handout
Homework 8: Pipelining, FSMs Due 3/22
10 Mon 3/18 Lecture 25: Parallelism I - Intro, Amdahl's Law
Readings: P&H 1.7, 1.8, 2.11, 4.10, 4.11, 5.10, 6.1-6.3, 6.5, 6.7, OpenMP Summary Card
Tue 3/19
Wed 3/20 Lecture 26: Parallelism II - SIMD
Readings: P&H 1.7, 1.8, 2.11, 4.10, 4.11, 5.10, 6.1-6.3, 6.5, 6.7, OpenMP Summary Card
Discussion 9: Parallelism I
Thu 3/21
Fri 3/22 Lecture 27: Parallelism III - TLP
Readings: P&H 1.7, 1.8, 2.11, 4.10, 4.11, 5.10, 6.1-6.3, 6.5, 6.7, OpenMP Summary Card
11 Mon 3/25 No lecture: Holiday Homework 9: Parallelism I Due 4/04
Tue 3/26 No lecture: Holiday
Wed 3/27 No lecture: Holiday
Thu 3/28 No lecture: Holiday
Fri 3/29 No lecture: Holiday
12 Mon 4/1 Lecture 28: Parallelism IV - Concurrency
Readings: P&H 1.7, 1.8, 2.11, 4.10, 4.11, 5.10, 6.1-6.3, 6.5, 6.7, OpenMP Summary Card
Lab 6: CPU, Pipelining Due 4/02
Tue 4/2
Wed 4/3 Lecture 29: Parallelism V - PLP / MapReduce
Readings: P&H 1.7, 1.8, 2.11, 4.10, 4.11, 5.10, 6.1-6.3, 6.5, 6.7, OpenMP Summary Card
Discussion 10: Parallelism II
Thu 4/4
Fri 4/5 Lecture 30: Caches I - Direct Mapped I
Readings: P&H 5.1-5.4, 5.8, 5.9, 5.13, Cache Flowchart
Homework 10: Performance Programming Due 4/11
13 Mon 4/8 Lecture 31: Caches II - Direct Mapped II
Readings: P&H 5.1-5.4, 5.8, 5.9, 5.13, Cache Flowchart
Tue 4/9
Wed 4/10 Lecture 32: Caches III - Multilevel, Performance
Readings: P&H 5.1-5.4, 5.8, 5.9, 5.13, Cache Flowchart
Discussion 11: Caches, AMAT Project 4: CS61kaChow Due 4/23
Thu 4/11
Fri 4/12 Lecture 33: OS, Disk
Readings: P&H 5.2, 5.5, 5.11
Homework 11: Caches Due 4/18
14 Mon 4/15 Lecture 34: Virtual Memory I
Readings: P&H 5.7-5.8
Lab 7: Parallelism Due 4/16
Tue 4/16
Wed 4/17 Lecture 35: Virtual Memory II
Readings: P&H 5.7-5.8
Discussion 12: VM
Thu 4/18
Fri 4/19 Lecture 36: [optional] MapReduce, Spark (Application)
Readings: WSC 1, 2.4, 3, 5.1-5.3, P&H 6.7
Homework 12: VM, Potpourri Due 4/25
15 Mon 4/22 Lecture 37: [optional] Data Centers, Warehouse Scale Computing
Readings: WSC 1, 2.4, 3, 5.1-5.3
Tue 4/23
Wed 4/24 Lecture 38: [optional] GUEST LECTURE Discussion 13: WSC, RAID, ECC
Thu 4/25
Fri 4/26 Lecture 39: Summary, What's Next?
16 Mon 4/29 RRR Week
Tue 4/30 RRR Week
Wed 5/1 RRR Week
Thu 5/2 RRR Week
Fri 5/3 RRR Week
17 Tue 5/7 Final: 3-6PM PT