EE282: Computer Systems Architecture
Spring 2026, Mondays and Wednesdays, 3:00 - 4:20 PM, Shriram 104Instructor: Caroline Trippel, Christos Kozyrakis
Teaching Assistants: Jane Nhi Nguyen, Kira Tran, Noah Anderson
Staff Email: ee282-spr2526-staff@lists.stanford.edu
Canvas: Class Homepage
Ed: Class Homepage
GradeScope: Class Homepage
CGOE students have 1 week to finish the in-class exercises using Gradescope within 1 week after the lecture recording is available.
Syllabus: PDF
EE282 covers key hardware and software topics that are relevant for architecting advanced computer systems. Examples include: out-of-order processors, multi-level cache hierarchies, main memory systems, multithreading and vector techniques, GPUs and accelerators, virtualization, virtual memory, datacenter architecture, advanced IO systems, and non-volatile storage. Programming assignments include: simulation of multi-core processor designs to characterize performance, design and implementation of advanced processor optimizations, and formal verification of an open-source processor.
EE282 is appropriate for undergraduate and graduate students specializing in the broad field of computer systems. It is also appropriate for other EE and CS students who want to understand, program, and make efficient use of modern computer systems of any scale in their day-to-day work.
News (top is most recent)
- (03/31) Problem Set released.
- Welcome to EE282!
Schedule
Required Textbook:
HP: J. Hennessy & D. Patterson, Computer Architecture: A Quantitative Approach, 7th edition.
MC: Morgan Claypool Synthesis Lectures (available through the library using your SUID).
| Date | [Lecture #] Topic | Reading Assignment | Reference Problems [Due date] | Slides/ Notes |
|---|---|---|---|---|
| 3/30 | [1] Introduction, Review of Prerequisites Lecturer: Christos Kozyrakis |
[Prerequisite material] HP: Appendices A.{1-8}, B.{1-3}, C.{1-2, 4, 6}, Sections 1.{1-13} |
Slides Recording |
|
| 4/1 | [2] Advanced Caches I: Multi-level caches, Optimizations Lecturer: Caroline Trippel |
HP: Sections 2.{1, 3, 6, 7}, Appendix B.{3, 6} |
Slides Recording |
|
| 4/6 | [3] Advanced Caches II: Optimizations (continued), Prefetching Lecturer: Caroline Trippel |
HP: Sections 2.5, 5.{1, 2} | Problems 1 & 2 [4/16] |
Slides Recording |
| 4/8 | [4] Coherence problem, Cache coherence Lecturer: Caroline Trippel |
MC: A Primer on Memory Consistency and Cache Coherence, Second Edition: Chapters 2, 6 HP: Section 5.{3,4} |
Problem 3 [4/23] Prog. Assign 1 [5/7] |
Slides Recording |
| 4/13 | [5] Synchronization Lecturer: Caroline Trippel |
HP: Section 5.5 | ||
| 4/15 | [6] Memory Consistency Lecturer: Caroline Trippel |
MC: A Primer on Memory Consistency and Cache Coherence, Second Edition: Chapters 3, 4, 5.{1-2} HP: Section 5.{6-7} |
Problem 4 [4/23] | |
| 4/20 | [7] Main Memory Lecturer: Caroline Trippel |
HP: Section 2.2 | Problem 5 [4/30] | |
| 4/22 | [8] Out-of-Order Processors I: Dynamic Scheduling and Branch Prediction Lecturer: Christos Kozyrakis |
HP: Section 3.{1-5} | Problem 6 [4/30] | |
| 4/27 | [9] Out-of-Order Processors II: Speculation and Superscalar Lecturer: Christos Kozyrakis |
HP: Section 3.{6-10} | Problem 7 [4/30] Prog. Assign. 2 [5/16] |
|
| 4/29 | [10] Multithreading Lecturer: Christos Kozyrakis |
HP: Section 3.{11} | Problem 8 [5/3] | |
| 5/4 | [11] Vectors and SIMD Lecturer: Christos Kozyrakis |
HP: Sections 4.{1-3, 5}, Appendix G | Problem 9 [5/14] | |
| 5/5 | Midterm Exam Time: 90-180 min, 12:00AM-11:59PM |
Lectures 1-10 | ||
| 5/6 | [12] GPUs Guest Lecturer: Michael Pellauer |
HP: Sections 4.{4, 6-8} | Problem 10 [5/21] | |
| 5/11 | [13] AI Processors Guest Lecturer: Thierry Tambe |
Understanding Matrix Multiplication on a Weight-Stationary Systolic Architecture
Roofline: an insightful visual performance model for multicore architectures |
Problem 11 [5/21] | |
| 5/13 | [14] Virtualization Lecturer: Christos Kozyrakis |
HP: Section 6.{1-3} MC: Hardware and Software Support for Virtualization: Chapters 1-4 (Optional) |
Problem 12 [5/23] | |
| 5/18 | [15] Advanced I/O & Networking Lecturer: Christos Kozyrakis |
HP: HP Section 6.5 Appendix F.{1-2}MC: Hardware and Software Support for Virtualization: Chapter 6 (optional) |
Problem 13 [5/28] Prog. Assign. 3 [6/3] |
|
| 5/20 | [16] Advanced Memory Management Lecturer: Caroline Trippel |
MC: Hardware and Software Support for Virtualization: Chapter 1,2,4,5 HP: Appendix L |
Problem 14 [5/28] | |
| 5/25 | Memorial Day (No Classes) | |||
| 5/27 | [17] Non-volatile memory Lecturer: Christos Kozyrakis |
HP: Section 6.5, Appendix D.2 Flash storage memory by Adam Leventhal |
Problem 15 [6/4] | |
| 6/1 | [18] Datacenter Hardware/Management Lecturer: Christos Kozyrakis |
HP: Chapter 6 | HP Sections 6.{4, 6-9} | |
| 6/3 | [19] Microarchitectural Attacks and Defenses Lecturer: Caroline Trippel |
Opening Pandora’s Box: A Systematic Study of New Ways Microarchitecture Can Leak Private Data Spectre Attacks: Exploiting Speculative Execution | ||
| 6/6 | Final Exam (8:30 AM - 11:30 AM PDT) Shriram 104 |
Lectures 1-19 | ||
Review Session Schedule
| Review Session # | Date | Topics |
|---|---|---|
| Review Session 1 | 4/3 | Cache Optimizations |
| Review Session 2 | 4/10 | Cache Coherence, Programming Assignment 1 |
| Review Session 3 | 4/17 | Memory Consistency Models, Synchronization, and Main Memory |
| Review Session 4 | 4/24 | Branch Prediction, Instruction Scheduling, Multithreading |
| Review Session 5 | 5/1 | Midterm Review |
| Review Session 6 | 5/8 | Vectors, Programming Assignment 2 |
| Review Session 7 | 5/15 | Virtualization, Accelerators |
| Review Session 8 | 5/22 | Advanced Memory Management, I/O, and Networking |
| Review Session 9 | 5/29 | Non‑volatile Memory |
| Review Session 10 | 6/5 | Final Exam Review |
Homework and Projects
Assignments include a Problem Set and 3 Programming Assignments. The Problem Set consists of 15 questions. Each problem within the set has a reference lecture and the corresponding due date is put up on the lecture schedule. You will work on all assignments in groups of 2 students. All assignments are due by 11:59 PM PT on the dates indicated on the assignment in the schedule. Solutions to problem sets will be available online shortly thereafter. All assignments should be submitted through GradeScope.
There will be no late days.Logistics
Announcements: Visit this web page regularly to access all the handouts, solutions, and announcements. Please check your email regularly as well for announcements from Ed!
Office Hours:
- Wednesdays 12:00 PM - 2:00 PM in Huang Basement
- Thursdays 9:00 AM - 10:30 AM on Zoom
- Mondays 12:00 PM - 2:00 PM, Huang Basement
- Mondays 1:00 PM - 2:00 PM on Zoom
- Tuesdays 1:00 PM - 3:00 PM, Huang Basement
- Tuesdays 2:00 PM - 3:00 PM on Zoom
Review Sessions:
Exams: There will be one online midterm and one in-person final exam.
- The Midterm will be designed to take 90-180 minutes and will be given asynchronously on Tuesday, May 5. You may take the exam at any point in the 24-hour window from 12:00AM to 11:59PM PT on May 5th. The midterm will cover lectures 1 through 10.
- The Final will be designed to take 120-180 minutes and will be given in person on Saturday, June 6, 8:30 – 11:30 AM in Shriram 104. The final will cover lectures 1-18.
Tentative Grading:
| Category | Grade % | Notes |
|---|---|---|
| Attendance and Participation | 5% | 3 conditional absence “passes” (see Course Policies in syllabus); Arrival/departure > 10 min late/early counts as an absence |
| Problem Set | 5% | |
| 3 Programming Assignments | 15% | |
| Midterm | 15% | |
| Final | 60% |
Attendance:
You are expected to attend the lectures in person. This is your opportunity to ask questions, contribute answers and insights, and affect the nature of the class. Also note that the lecture notes and the textbook are not guaranteed to capture 100% of every topic discussed aloud during lecture.
The lecture notes will be made available before class. During the lectures, there will also be in-class exercises which you will be given time to work on and discuss with your neighbors. You will submit answers via Google Forms + tinyurl. CGOE students are expected to complete the in-class exercises within 1 week after the lecture recording is available.
Collaboration: See: honor code and collaboration for some general guidelines, which apply to both project assignments and problem sets. In general, collaboration is encouraged subject to the following guidelines:
- No more than 2 people can collaborate on a homework or project assignment.
- Students working together should submit a single assignment for the pair.
- Any assistance received for homework or programming assignment solutions should be acknowledged in writing with specific details. Please see the syllabus for the course policy on AI use, which will be taken very seriously.
- No sharing of code, or partial or complete solutions among groups is permitted.
CGOE Video Recording Disclaimer: Video cameras located in the back of the room will capture the instructor presentations in this course. For your convenience, you can access these recordings by logging into the course Canvas site. These recordings might be reused in other Stanford courses, viewed by other Stanford students, faculty, or staff, or used for other education and research purposes. Note that while the cameras are positioned with the intention of recording only the instructor, occasionally a part of your image or voice might be incidentally captured. If you have questions, please contact a member of the teaching team.
Adapted from a template by Andreas Viklund.