Great Ideas in Computer Architecture (Machine Structures)

CS 61C at UC Berkeley with Connor McMahon, Nicholas Weaver - Spring 2022

Lecture: Tuesday/Thursday 11:00AM - 12:30PM PT, Online

Week Date Lecture Reading Lab & Discussion HW & Project
1 Tue 1/18 Lecture 1: Intro, Number Representation
Course Policies Discussion 1: Number Rep
Lab 0: Intro and Setup Due 1/24
Thu 1/20 Lecture 2: C Intro - Basics
K&R Ch. 1-5 C Reference Slides
Brian Harvey's Intro to C
Fri 1/21 Homework 1: Number Rep Due 1/28
2 Mon 1/24 Discussion 2: C Basics
Lab 1: C & CGDB Due 1/31
Tue 1/25 Lecture 3: C Intro - Pointers, Arrays, Strings
K&R 5-6
Thu 1/27 Lecture 4: C Memory (Mis)Management
K&R 7.8.5, 8.7 Project 1: Snake Due 2/09
Fri 1/28 Homework 2: C Concepts Due 2/04
3 Tue 2/1 Lecture 5: Floating Point P&H 3.5, 3.9
IEEE 754 Simulator
Discussion 3: Floating Point
Lab 2: C Memory Management, Valgrind Due 2/07
Thu 2/3 Lecture 6: Assembly, RISC-V Intro P&H 2.1-2.3, 2.9-2.10
Fri 2/4 Homework 3: Floating Point Due 2/11
4 Tue 2/8 Lecture 7: RISC-V, RISC-V Functions P&H 2.6-2.8, 3.2 Discussion 4: RISC-V Intro, Control Flow, ISA
Lab 3: RISC-V Assembly Due 2/14
Wed 2/9 Project 2: CS61Classify A: Due 2/23 B: Due 3/16
Thu 2/10 Lecture 8: RISC-V Instruction Formats P&H 2.5, 2.10
Fri 2/11 Homework 4: RISC-V Due 2/18
5 Tue 2/15 Lecture 9: Compiler, Assembler, Linker, Loader (CALL) P&H 2.12 Discussion 5: RISC-V Procedures, CALL
Lab 4: RISC-V Functions, Pointers Due 2/28
Thu 2/17 Lecture 10: Introduction to Synchronous Digital Systems (SDS) SDS Handout
Fri 2/18 Homework 5: Logic, Timing Due 2/25
6 Tue 2/22 Lecture 11: Functional Units, FSMs Discussion 6: SDS, Logic, FSM
Thu 2/24 Lecture 12: RISC-V Datapath, Single-Cycle Control Intro P&H 4.1, 4.3
Fri 2/25
7 Tue 3/1 Lecture 13: RISC-V Single-Cycle Control P&H 4.4 Discussion 7: Single-Cycle Datapath
Lab 5: Logisim Due 3/07
Thu 3/3 Midterm: 7-9PM PT
Fri 3/4
8 Tue 3/8 Lecture 14: RISC-V 5-Stage Pipeline/Hazards P&H 4.6-4.10 Discussion 8: Pipelining and Hazards
Lab 6: Pipelining, CPU Due 3/14
Thu 3/10 Lecture 15: Memory Hierarchy, Fully Associative Caches P&H 5.1-5.4, 5.8-5.9, 5.13
Cache Flowchart
Fri 3/11 Homework 6: RISC-V Datapath Due 3/18
9 Tue 3/15 Lecture 16: Direct-Mapped & Set-Associative Caches, Cache Performance P&H 5.1-5.4, 5.8-5.9, 5.13
Cache Flowchart
Discussion 9: Caches & AMAT
Lab 7: Caches Due 3/28
Wed 3/16 Project 3: CS61CPU A: Due 3/30 B: Due 4/13
Thu 3/17 Lecture 17: Multi-Level Caches, Cache Questions P&H 5.1-5.4, 5.8-5.9, 5.13
Cache Flowchart
Fri 3/18 Homework 7: Caches Due 4/01
10 Mon 3/21 Spring Break
11 Tue 3/29 Lecture 18: Flynn's Taxonomy, Data-Level Parallelism P&H 2.11, 4.10, 5.10, 6.5 Discussion 10: Data-level Parallelism
Lab 8: SIMD Instructions Due 4/04
Thu 3/31 Lecture 19: Amdahl's Law, Thread-Level Parallelism, OpenMP Introduction P&H 2.11, 4.10, 5.10, 6.5
OpenMP Summary Card
Fri 4/1 Homework 8: Performance Programming Due 4/08
12 Tue 4/5 Lecture 20: Cache Coherence, OpenMP Sharing Issues, Performance P&H 2.11, 4.10, 5.10, 6.5
OpenMP Summary Card
Discussion 11: Coherency & Atomic, Parallelism
Lab 9: Thread-Level Parallelism Due 4/18
Thu 4/7 Lecture 21: Operating Systems P&H 5.7, 5.8
Fri 4/8
13 Tue 4/12 Lecture 22: Virtual Memory P&H 5.7, 5.8 Discussion 12: OS & Virtual Memory
Wed 4/13 Project 4: Numc Due 4/27
Thu 4/14 Lecture 23: I/O P&H 5.2, 5.5, 5.11, A64-B66
Fri 4/15 Homework 9: OS, I/O, Virtual Memory Due 4/22
14 Tue 4/19 Lecture 24: Dependability, Parity, ECC, RAID P&H 5.2, 5.5, 5.11 Discussion 13: I/O
Lab 10: OS, I/O, Disks, Networking & Virtual Memory Due 4/25
Thu 4/21 Lecture 25: Warehouse-Scale Computing
Fri 4/22 Homework 10: ECC, Dependability, Parity & Potpourri Due 4/29
15 Tue 4/26 Lecture 26: Review, Interesting Miscellaneous Things Discussion 14: WSC, RAID, Parity & ECC
Thu 4/28 Lecture 27: Summary, What's Next?
Fri 4/29
16 Mon 5/2 RRR Week
17 Thu 5/12 Final: 8-11AM