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 |
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 | 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 | Homework 8: Pipelining, FSMs Due 3/22 | ||||
10 | Mon 3/18 | Lecture 25: Parallelism I - Intro, Amdahl's Law | ||||
Tue 3/19 | ||||||
Wed 3/20 | Lecture 26: Parallelism II - SIMD | Discussion 9: Parallelism I | ||||
Thu 3/21 | ||||||
Fri 3/22 | Lecture 27: Parallelism III - TLP | |||||
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 | Lab 6: CPU, Pipelining Due 4/02 | |||
Tue 4/2 | ||||||
Wed 4/3 | Lecture 29: Parallelism V - PLP / MapReduce | Discussion 10: Parallelism II | ||||
Thu 4/4 | ||||||
Fri 4/5 | Lecture 30: Caches I - Direct Mapped I | Homework 10: Performance Programming Due 4/11 | ||||
13 | Mon 4/8 | Lecture 31: Caches II - Direct Mapped II | ||||
Tue 4/9 | ||||||
Wed 4/10 | Lecture 32: Caches III - Multilevel, Performance | 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 |