EE180 Digital Systems Architecture

Winter 2024, Mon/Wed 3:00 PM - 4:20 PM
Location: 200 - 034

Instructor: Christos Kozyrakis
Teaching Assistants: Jack Humphries, Caterina Zampa, Hashem Elezabi
Ed Discussion: Ed Stem
Staff Email: ee180-win2324-staff@lists.stanford.edu
Canvas: Canvas Home Page
Course Information: PDF

Office Hours:
Christos: Mondays 4:30 PM - 5:30 PM (and by appointment). Gates 444.
Jack: Saturdays 2:00 PM - 4:00 PM. Gates 415.
Caterina: Tuesdays 4:00 PM - 6:00 PM. Huang Basement.
Hashem: Mondays 6:00 PM - 8:00 PM. Huang Basement.

Overview

  EE180 introduces students to computer architecture and the design of efficient computing and memory systems. The key topics of this course include: hardware/software interface (instruction set, data and thread level parallelism), assembly language programming, efficiency metrics (performance, power, energy, and cost), processor design (pipelining and vectors), memory hierarchy (cache, main memory), virtualization, basic I/O, and custom accelerator design. The programming assignments provide an introduction to performance optimization of software on a modern architecture and the design of a processor.
  At the completion of the course, you will understand how to determine the performance of processor-based digital systems, why they are designed that way, and how to implement your own accelerator design.
  EE180 is appropriate for undergraduate and graduate students who are specializing in the interrelated discipline of hardware/software systems. It is also appropriate for other EE and CS students who want to understand, optimize, or design their own processor based digital-system of any scale in their day-to-day work. Post EE180, students can take EE282, a class on advanced computer system architecture, and modern datacenter hardware/software architecture.

Schedule

Required Textbook

H&P: J. Hennessy & D. Patterson, Computer Organization & Design: The Hardware/Software Interface, 6th edition, Morgan-Kaufmann, 2020.
The book is available at the Stanford Bookstore, and one copy is on reserve at the Terman Engineering Library. The book is also available in print or digital form by online retailers.

Lectures and Assignments

DateTopicReading AssignmentClass Info
1/8 Introduction H&P: 1.{1-5} L1 Slides
1/10 Hardware/Software Interface I H&P: 2.{1-4, 6} L2 Slides
1/15 MLK Day - No Lecture
1/17 Hardware/Software Interface II
H&P: 2.{7-10} L3 Slides
1/22 Hardware/Software Interface III H&P: 2.{4, 11-14}
H&P: 6.3
L4 Slides
1/24 Efficiency Metrics
H&P: 1.{6-7} L5 Slides
1/29 Hardware Design Overview
H&P: Appendix B L6 Slides
1/31 Processor Design H&P: 4.{1-4} L7 Slides
2/5 Pipelined Processor I H&P: 4.{5-6} L8 Slides
2/7 Pipelined Processor II
H&P: 4.7 L9 Slides
2/12 Pipelined Processor III
H&P: 4.{8-10} L10 Slides
2/14 Memory Hierarchy I H&P: 5.{1-4}
2/15 Midterm Exam (Online Quiz)
2/19 Presidents' Day - No Lecture
2/21 Memory Hierarchy II H&P: 5.{8-10}
2/26 Memory Hierarchy III
H&P: 5.10, 6.5
2/28 Custom Accelerators
Lecture Notes
3/4 Virtual Memory
H&P: 5.7
3/6 Operating System Support
H&P: 4.9
3/11 I/O Devices & Interfaces
H&P: 6.9
3/13 I/O Optimizations
Lecture Notes
3/19 Final Exam (8:30 AM - 11:30 AM at Lathrop Library, Room 282)
 

Review Sessions

The TAs will hold review sessions on most Fridays. These sessions will clarify topics covered during lecture, introduction to homework and laboratory assignments, and review special topics. Attendance is optional, but highly recommended.

Times: Friday 2:00 PM – 3:00 PM
Location: Y2E2 - 111

Please fill out the weekly poll on Ed to help us plan the review session!

DateTopic
1/12 NO REVIEW SESSION
1/19 Lab 1 Overview
1/26 Lab 2 Overview
2/2 Verilog and Hardware Design Tutorial
2/9 Lab 3 Overview
2/16 NO REVIEW SESSION
2/23 Office Hours
3/1 Lab 4 Overview
3/8 NO REVIEW SESSION
3/15 Final Exam Review

Homework and Projects

We recommend you to work on all assignments in groups of 3 students. All problem sets are due by 11:59 PM PDT on the dates indicated on the assignment. Solutions to homework sets will be available online shortly thereafter. All deadlines are final. No extensions, no exceptions. Late assignments will not be accepted. All assignments should be submitted through Gradescope.

The lab and homework release dates and due dates are in the schedule above.

Logistics

Announcements: Visit this web page regularly to access all the slides, handouts, and announcements.

Online Quiz: The midterm exam will be an 1.5-hour open-book quiz. It will be available to take online for a period of 24 hours (you will choose the 1.5 hours that work best for you).

Final Exam: Lathrop Library, Room 282 on 3/19/2024 from 8:30 AM to 11:30 AM.

Grading Scheme:
Homework: 15%
Class Participation: 10%
Lab Assignments: 35%
Midterm Exam: 20%
Final Exam: 20%

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:

Adapted from a template by Andreas Viklund.