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
Readings: P&H:2.4, Binary slides
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
Readings: P&H 3.5, 3.9, IEEE 754 Simulator
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
Readings: P&H A.3-A.6, State Handout
Discussion 5: RISC-V ISA, CALL, Boolean Algebra
Homework 5: Logic, Timing Due 2/28
Thu 2/23
Fri 2/24 Lecture 16: State
Readings: P&H A.2-A.3, Logic Handout
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
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 8: Pipelining, Hazards
Thu 3/16
Fri 3/17 Lecture 25: 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
10 Mon 3/20 Lecture 26: 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
Tue 3/21
Wed 3/22 Lecture 27: 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
Discussion 9: Parallelism
Homework 7: Performance Programming Due 4/11
Thu 3/23
Fri 3/24 Lecture 28: Parallelism V - PLP
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/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
Readings: P&H 5.1-5.4, 5.8, 5.9, 5.13, Cache Flowchart
Tue 4/4 Lab 7: Parallelism I - SIMD, OpenMP Due 4/10
Wed 4/5 Lecture 30: Caches - Direct Mapped II
Readings: P&H 5.1-5.4, 5.8, 5.9, 5.13, Cache Flowchart
Discussion 10: Parallelism II
Thu 4/6
Fri 4/7 Lecture 31: Caches - Multilevel
Readings: P&H 5.1-5.4, 5.8, 5.9, 5.13, Cache Flowchart
13 Mon 4/10 Lecture 32: Caches - Set-Associative, Performance
Readings: P&H 5.1-5.4, 5.8, 5.9, 5.13, Cache Flowchart
Tue 4/11 Lab 8: Parallelism II: OpenMP, Open MPI Due 4/17
Wed 4/12 Lecture 33: Virtual Memory I
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 II
Readings: P&H 5.7-5.8
Project 4: CS61kaChow Due 4/28
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: Dependability, Parity, ECC, RAID
Readings: P&H 5.2, 5.5, 5.11
Discussion 12: OS, Virtual Memory, I/O
Homework 9: VM, OS, I/O, Potpourri Due 4/25
Thu 4/20
Fri 4/21 Lecture 37: MapReduce, Spark, Amdahl's Law
Readings: WSC 1, 2.4, 3, 5.1-5.3, P&H 6.7
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: Dependability, ECC, RAID 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