Great Ideas in Computer Architecture (Machine Structures)

CS 61C at UC Berkeley with Dan Garcia, Justin Yokota - Fall 2023

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

Week Links Date Lecture Discussion Lab HW Project
1 Wed 8/23 Lecture 1: Intro
Readings: Course Policies
Thu 8/24 Lab 0: Intro, Setup Due 8/29 Homework 1: Number Representation Due 8/30
Fri 8/25 Lecture 2: Number Representation
Readings: P&H:2.4, Binary slides
2 Mon 8/28 Lecture 3: C Intro - Basics Discussion 1: Number Representation
Project 1: snek Due 9/12
Tue 8/29
Wed 8/30 Lecture 4: C Intro - Pointers, Arrays, Strings
Readings: K&R 5-6
Lab 1: C Due 8/31
Thu 8/31 Homework 2: C Due 9/06
Fri 9/1 Lecture 5: C Memory (Mis)Management
Readings: K&R 7.8.5, 8.7
3 Mon 9/4 No lecture: Holiday
Tue 9/5 Discussion 2: C
Wed 9/6 Lecture 6: Floating Point
Readings: P&H 3.5, 3.9, IEEE 754 Simulator
Lab 2: C Debugging Due 9/07
Thu 9/7 Homework 3: Floating Point Due 9/13
Fri 9/8 Lecture 7: Intro to Assembly Language, RISC-V
Readings: P&H 2.1-2.3
4 Mon 9/11 Lecture 8: RISC-V Data Transfer
Readings: P&H 2.9, 2.10
Discussion 3: Floating Point
Tue 9/12
Wed 9/13 Lecture 9: RISC-V Decision Making Logical Ops
Readings: P&H 2.6, 2.7, 3.2
Lab 3: RISC-V, Venus Due 9/14 Project 2: CS61Classify A: Due 9/19 B: Due 10/03
Thu 9/14 Homework 4: RISC-V Due 9/27
Fri 9/15 Lecture 10: RISC-V Procedures
Readings: P&H 2.8
5 Mon 9/18 Lecture 11: RISC-V Instruction Formats I
Readings: P&H 2.5, 2.10
Discussion 4: RISC-V Assembly, Functions
Tue 9/19
Wed 9/20 Lecture 12: RISC-V Instruction Formats II
Readings: P&H 2.5, 2.10
Lab 4: RISC-V Calling Convention Due 9/21
Thu 9/21
Fri 9/22 Lecture 13: Compiler, Assembler, Linker, Loader
Readings: P&H 2.12
6 Mon 9/25 Lecture 14: Intro to Synchronous Digital Systems
Readings: SDS Handout
Discussion 5: RISC-V Procedures, ISA, CALL
Tue 9/26
Wed 9/27 Lecture 15: Combinational Logic
Readings: P&H A.2-A.3, Logic Handout
Thu 9/28 Homework 5: Logic, Timing Due 10/04
Fri 9/29 Lecture 16: SDS State, FSMs
Readings: P&H A.3-A.6, State Handout
7 Mon 10/2 Lecture 17: Combinational Logic Blocks
Readings: Blocks Handout
Discussion 6: SDS, Logic, FSM
Tue 10/3
Wed 10/4 Lecture 18: RISC-V Single-Cycle Datapath I
Readings: P&H 4.1, 4.3
Lab 5: Logisim Due 10/05 Project 3: CS61CPU A: Due 10/17 B: Due 11/07
Thu 10/5 Homework 6: RISC-V Datapath Due 10/25
Fri 10/6 Lecture 19: RISC-V Single Cycle Datapath II
Readings: P&H 4.4
8 Mon 10/9 Lecture 20: RISC-V Single-Cycle Control
Readings: P&H 4.4, 4.5
Tue 10/10 Midterm: 7-9PM PT
Wed 10/11 Lecture 21: RISC-V 5-Stage Pipeline I
Readings: P&H 4.6
Thu 10/12
Fri 10/13 Lecture 22: RISC-V 5-Stage Pipeline II, Hazards
Readings: P&H 4.7, 4.8
9 Mon 10/16 Lecture 23: RISC-V 5-Stage Pipeline III, Hazards
Readings: P&H 4.10
Discussion 7: Single-Cycle Datapath
Tue 10/17
Wed 10/18 Lecture 24: Caches - Direct Mapped I
Readings: P&H 5.1-5.4, 5.8, 5.9, 5.13, Cache Flowchart
Lab 6: CPU, Pipelining Due 10/19
Thu 10/19
Fri 10/20 Lecture 25: Caches - Direct Mapped II
Readings: P&H 5.1-5.4, 5.8, 5.9, 5.13, Cache Flowchart
10 Mon 10/23 Lecture 26: Caches III
Readings: P&H 5.1-5.4, 5.8, 5.9, 5.13, Cache Flowchart
Discussion 8: Pipelining, Hazards
Tue 10/24
Wed 10/25 Lecture 27: Caches - Set-Associative, Performance
Readings: P&H 5.1-5.4, 5.8, 5.9, 5.13, Cache Flowchart
Thu 10/26 Homework 7: Caches Due 11/01
Fri 10/27 Lecture 28: 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
11 Mon 10/30 Lecture 29: 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: Caches, AMAT
Tue 10/31
Wed 11/1 Lecture 30: 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
Lab 7: Parallelism I - SIMD Due 11/02
Thu 11/2 Homework 8: Performance Programming Due 11/15
Fri 11/3 Lecture 31: 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
12 Mon 11/6 Lecture 32: 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
Discussion 10: Parallelism I
Tue 11/7
Wed 11/8 Lecture 33: Virtual Memory I
Readings: P&H 5.7-5.8
Lab 8: Parallelism II - OpenMP Due 11/09 Project 4: CS61kaChow Due 11/28
Thu 11/9
Fri 11/10 No lecture: Holiday
13 Mon 11/13 Lecture 34: Virtual Memory II
Readings: P&H 5.7-5.8
Discussion 11: Parallelism II
Tue 11/14
Wed 11/15 Lecture 35: I/O
Readings: P&H 5.2, 5.5, 5.11, A-64 to B-66
Lab 9: Parallelism III - Open MPI Due 11/16
Thu 11/16 Homework 9: OS, I/O, VM, Potpourri Due 11/28
Fri 11/17 Lecture 36: Dependability, Parity, ECC, RAID
Readings: P&H 5.2, 5.5, 5.11
14 Mon 11/20 Lecture 37: MapReduce, Spark, Amdahl's Law
Readings: WSC 1, 2.4, 3, 5.1-5.3, P&H 6.7
Discussion 12: OS, I/O, VM
Tue 11/21
Wed 11/22 No lecture: Holiday
Thu 11/23
Fri 11/24 No lecture: Holiday
15 Mon 11/27 Lecture 38: Data Centers, Warehouse Scale Computing
Readings: WSC 1, 2.4, 3, 5.1-5.3
Discussion 13: ECC, Dependability, Parity, Potpourri
Tue 11/28
Wed 11/29 Lecture 39: Guest Lecture
Thu 11/30
Fri 12/1 Lecture 40: Summary, What's Next?
16 Mon 12/4 RRR Week
Tue 12/5 RRR Week
Wed 12/6 RRR Week
Thu 12/7 RRR Week
Fri 12/8 RRR Week
17 Mon 12/11 Final: 8-11AM PT