Great Ideas in Computer Architecture (Machine Structures)

CS 61C at UC Berkeley with Caroline Liu, Justin Yokota, Peyrin Kao - Summer 2022

Lecture: Monday/Tuesday/Wednesday/Thursday 9:30AM - 11:00AM PT, Li Ka Shing 245 + Online

Week Date Lecture Discussion Lab HW Project
1 Mon 6/20 No Lecture: Holiday
Tue 6/21 Lecture 1: Intro, Course Overview, Memory Model
Lab 0: Intro and Setup Due 6/24 Homework 1: Number Rep and C Due 6/27
Wed 6/22 Lecture 2: Intro to C, Low-Level Programming
Discussion 1: C Part 1
Project 1: snek Due 7/01
Thu 6/23 Lecture 3: Number Representation
2 Mon 6/27 Lecture 4: C: Pointers, Arrays, Memory Alignment
Discussion 2: Number Representation
Lab 1: C Programming Due 6/30
Tue 6/28 Lecture 5: C: Stack, Functions, and Structs
Homework 2: More C and Floating Point Due 7/05
Wed 6/29 Lecture 6: Floating Point
Discussion 3: C Part 2, Floating Point
Thu 6/30 Lecture 7: RISC-V Part 1
3 Mon 7/4 No lecture: Holiday Project 2: CS61Classify A: Due 7/09 B: Due 7/20
Tue 7/5 Lecture 8: RISC-V Part 2
Lab 2: RISC-V Due 7/07
Wed 7/6 Lecture 9: RISC-V Part 3
Discussion 4: RISC-V Part 1
Homework 3: RISC-V Due 7/11
Thu 7/7 Lecture 10: Compiler, Assembler, Linker, Loader (CALL)
4 Mon 7/11 Lecture 11: Combinatorial Logic, Boolean Algebra
Discussion 5: RISC-V Part 2, CALL
Tue 7/12 Lecture 12: Synchronous Digital Systems (SDS)
Homework 4: FSMs, SDS Due 7/19
Wed 7/13 Lecture 13: RISC-V Datapath
Discussion 6: Logic, SDS
Thu 7/14 No Lecture
Fri 7/15 Midterm: 5-7PM PT
5 Mon 7/18 Lecture 14: Datapath and Control Logic
Discussion 7: Datapath
Lab 3: Logisim Due 7/21
Tue 7/19 Lecture 15: Datapath Performance and Pipelining
Wed 7/20 Lecture 16: Operating Systems (OS), Data Level Parallelism (DLP)
Discussion 8: Pipelining
Homework 5: Datapath and Performance Programming Due 7/25
Thu 7/21 Lecture 17: Thread Level Parallelism (TLP)
Project 3: CS61CPU A: Due 7/25 B: Due 8/01
6 Mon 7/25 Lecture 18: Caches Part 1
Discussion 9: OS, DLP, TLP
Lab 4: Parallelism Due 7/28
Tue 7/26 Lecture 19: Caches Part 2
Homework 6: Caches, OS Due 8/02
Wed 7/27 Lecture 20: Caches Part 3
Discussion 10: Caches
Thu 7/28 No Lecture: Re-scheduled to Monday
Fri 7/29
7 Mon 8/1 Lecture 21: Cache Coherency
Discussion 11: Cache Coherency
Lab 5: Caches, Virtual Memory Due 8/04
Tue 8/2 Lecture 22: Virtual Memory (VM) Part 1
Project 4: Numc Due 8/08
Wed 8/3 Lecture 23: Virtual Memory (VM) Part 2
Discussion 12: VM
Homework 7: Virtual Memory, Dependability Due 8/08
Thu 8/4 Lecture 24: Dependability
8 Mon 8/8 Lecture 25: Potpourri, Wrap-Up
Tue 8/9 No Lecture
Wed 8/10 No Lecture
Thu 8/11 Final: 5-8PM PT