Great Ideas in Computer Architecture (Machine Structures)
CS 61C at UC Berkeley with Dan Garcia, Justin Yokota - Spring 2023
Lecture: Monday/Wednesday/Friday 10:00AM - 11:00AM PT, VLSB 2050 + Online
Week | Date | Lecture | Discussion | Lab | HW | Project |
---|---|---|---|---|---|---|
1 | Mon 1/16 | No lecture: Holiday | ||||
Tue 1/17 | ||||||
Wed 1/18 |
Lecture 1: Intro
Readings:
Course Policies
|
Lab 0: Intro, Setup Due 1/27 | Homework 1: Number Representation Due 1/24 | |||
Thu 1/19 | ||||||
Fri 1/20 | Lecture 2: Number Representation | |||||
2 | Mon 1/23 | Lecture 3: C Intro - Basics | Lab 1: C Due 1/30 | Project 1: snek Due 2/09 | ||
Tue 1/24 | ||||||
Wed 1/25 |
Lecture 4: C Intro - Pointers, Arrays, Strings
Readings:
K&R 5-6
|
Discussion 1: Number Rep
|
Homework 2: C, Pointers, and Memory Due 2/02 | |||
Thu 1/26 | ||||||
Fri 1/27 |
Lecture 5: C Memory (Mis)Management
Readings:
K&R 7.8.5, 8.7
|
|||||
3 | Mon 1/30 | Lecture 6: Floating Point | ||||
Tue 1/31 | Lab 2: C Debugging Due 2/06 | |||||
Wed 2/1 |
Lecture 7: Intro to Assembly Language, RISC-V
Readings:
P&H 2.1-2.3
|
Discussion 2: C
|
Homework 3: Floating Point Due 2/07 | |||
Thu 2/2 | ||||||
Fri 2/3 |
Lecture 8: RISC-V Data Transfer
Readings:
P&H 2.9, 2.10
|
|||||
4 | Mon 2/6 |
Lecture 9: RISC-V Decision Making, Logical Ops
Readings:
P&H 2.6, 2.7, 3.2
|
||||
Tue 2/7 | Lab 3: RISC-V, Venus Due 2/13 | |||||
Wed 2/8 |
Lecture 10: RISC-V Procedures
Readings:
P&H 2.8
|
Discussion 3: Floating Point, RISC-V Intro
|
Homework 4: RISC-V Due 2/21 | |||
Thu 2/9 | ||||||
Fri 2/10 |
Lecture 11: RISC-V Instruction Formats I
Readings:
P&H 2.5, 2.10
|
Project 2: CS61Classify A: Due 2/16 B: Due 3/02 | ||||
5 | Mon 2/13 |
Lecture 12: RISC-V Instruction Formats II
Readings:
P&H 2.5, 2.10
|
||||
Tue 2/14 | Lab 4: RISC-V Calling Convention Due 2/27 | |||||
Wed 2/15 |
Lecture 13: Compiler, Assembler, Linker, Loader
Readings:
P&H 2.12
|
Discussion 4: RISC-V Assembly, Functions
|
||||
Thu 2/16 | ||||||
Fri 2/17 |
Lecture 14: Intro to Synchronous Digital Systems
Readings:
SDS Handout
|
|||||
6 | Mon 2/20 | No lecture: Holiday | ||||
Tue 2/21 | ||||||
Wed 2/22 | Lecture 15: Combinational Logic |
Discussion 5: RISC-V ISA, CALL, Boolean Algebra
|
Homework 5: Logic, Timing Due 2/28 | |||
Thu 2/23 | ||||||
Fri 2/24 | Lecture 16: State | |||||
7 | Mon 2/27 |
Lecture 17: Combinational Logic Blocks
Readings:
Blocks Handout
|
||||
Tue 2/28 | Lab 5: Logisim Due 3/13 | |||||
Wed 3/1 |
Lecture 18: RISC-V Single Cycle Datapath I
Readings:
P&H 4.1, 4.3
|
Discussion 6: SDS, Logic, FSM
|
Homework 6: RISC-V Datapath Due 3/21 | |||
Thu 3/2 | ||||||
Fri 3/3 |
Lecture 19: RISC-V Single Cycle Datapath II
Readings:
P&H 4.4
|
Project 3: CS61CPU A: Due 3/16 B: Due 4/13 | ||||
8 | Mon 3/6 |
Lecture 20: RISC-V Single-Cycle Control
Readings:
P&H 4.4, 4.5
|
||||
Tue 3/7 | Midterm 7-9 PM (tentative) | |||||
Wed 3/8 |
Lecture 21: RISC-V 5-Stage Pipeline I
Readings:
P&H 4.6
|
Discussion 7: Single-Cycle Datapath
|
||||
Thu 3/9 | ||||||
Fri 3/10 |
Lecture 22: RISC-V 5-Stage Pipeline II
Readings:
P&H 4.7, 4.8
|
|||||
9 | Mon 3/13 |
Lecture 23: RISC-V 5-Stage Pipeline III
Readings:
P&H 4.10
|
||||
Tue 3/14 | Lab 6: CPU, Pipelining Due 3/20 | |||||
Wed 3/15 | Lecture 24: Parallelism I - Intro |
Discussion 8: Pipelining, Hazards
|
||||
Thu 3/16 | ||||||
Fri 3/17 | Lecture 25: Parallelism II - SIMD | |||||
10 | Mon 3/20 | Lecture 26: Parallelism III - TLP | ||||
Tue 3/21 | ||||||
Wed 3/22 | Lecture 27: Parallelism IV - Concurrency |
Discussion 9: Parallelism
|
Homework 7: Performance Programming Due 4/11 | |||
Thu 3/23 | ||||||
Fri 3/24 | Lecture 28: Parallelism V - PLP | |||||
11 | Mon 3/27 | No lecture: Holiday | ||||
Wed 3/29 | No lecture: Holiday | |||||
Fri 3/31 | No lecture: Holiday | |||||
12 | Mon 4/3 | Lecture 29: Caches - Direct Mapped I | ||||
Tue 4/4 | Lab 7: Parallelism I Due 4/10 | |||||
Wed 4/5 | Lecture 30: Caches - Direct Mapped II | Discussion 10: Parallelism II | ||||
Thu 4/6 | ||||||
Fri 4/7 | Lecture 31: Caches - Multilevel | |||||
13 | Mon 4/10 | Lecture 32: Caches - Set-Associative, Performance | ||||
Tue 4/11 | Lab 8: Parallelism II Due 4/17 | |||||
Wed 4/12 |
Lecture 33: OS
Readings:
P&H 5.7-5.8
|
Discussion 11: Caches, AMAT | Homework 8: Caches Due 4/18 | |||
Thu 4/13 | ||||||
Fri 4/14 |
Lecture 34: Virtual Memory
Readings:
P&H 5.7-5.8
|
Project 4: Optimization Due 4/27 | ||||
14 | Mon 4/17 |
Lecture 35: I/O
Readings:
P&H 5.2, 5.5, 5.11, A-64 to B-66
|
||||
Tue 4/18 | ||||||
Wed 4/19 |
Lecture 36: MapReduce, Spark, Amdahl's Law
Readings:
WSC 1, 2.4, 3, 5.1-5.3, P&H 6.7
|
Discussion 12: VM, OS, I/O | Homework 9: VM, OS, I/O, Potpourri Due 4/25 | |||
Thu 4/20 | ||||||
Fri 4/21 |
Lecture 37: Dependability, Parity, ECC, RAID
Readings:
P&H 5.2, 5.5, 5.11
|
|||||
15 | Mon 4/24 |
Lecture 38: Data Centers, Warehouse Scale Computing
Readings:
WSC 1, 2.4, 3, 5.1-5.3
|
||||
Tue 4/25 | ||||||
Wed 4/26 | Lecture 39: Guest Lecture | Discussion 13: WSC, RAID, Parity, ECC | Homework 10: TBD Due 4/28 | |||
Thu 4/27 | ||||||
Fri 4/28 | Lecture 40: Summary, What's Next? | |||||
16 | Mon 5/1 | RRR Week | ||||
Tue 5/2 | RRR Week | |||||
Wed 5/3 | RRR Week | |||||
Thu 5/4 | RRR Week | |||||
Fri 5/5 | RRR Week | |||||
17 | Tue 5/9 | Final: 3-6PM PT |