EECS 470: Computer Architecture

Winter 2024

Home / announcements | Course overview | Staff and hours | Piazza
References / Notes / Handouts | Homework/Labs/Projects | Exams | Schedule | Gradescope

Class Schedule

The following schedule may change for all sorts of reasons. Nothing here should be taken as for certain, and we likely will not be updating it as the semester goes forward...

Class Overview

EECS 470 is an introductory graduate-level course in computer architecture. This course is intended to do two things: to give you a solid, detailed understanding of how computers are designed and implemented, including the central processor and memory and I/O interfaces; and to make you aware of the numerous tradeoffs in design and implementation, their interaction, their realization in both historical and state-of-the-art systems, and trends that will affect them in future systems. We will cover instruction set architectures, pipelining (including basic pipelining, multiple-instruction-per-cycle machines, out-of-order instruction execution, and vector processing), memory systems (including caches and virtual memory), I/O interfaces, operating system issues, power utilization, and multiprocessor systems. We will also do case studies on microprocessors and systems you may have used, perhaps including the P6 (Pentium Pro/II/III), Pentium 4, AMD's Hammer, and the Itanium.

A central part of EECS 470 is the detailed design of major portions of a substantial processor using the Verilog hardware design language (HDL). Portions of this work will be done individually as programming assignments; the bulk of the work will be done in groups of three to five as a term project. You will use modern commercial CAD tools to develop your design. This project represents a significant investment of time on your part, and is a significant portion of your grade in this class. However, in computer architecture it is particularly true that "the devil is in the details," and you will gain important experience and knowledge by coming face to face with that devil.

Textbooks:

Computer Architecture: A Quantitative Approach, 5th or 6th edition, by Hennessy and Patterson, Morgan Kaufman Publishers.
An on-line copy of the book is available for the 5th edition.

Recommended reference (optional): Verilog Styles for Synthesis of Digital Systems, 1st edition, by Smith and Franzon, Prentice Hall.

Course policies:

Grading

Homework*                   10%  
Verilog assignments         8%
Inlab assignments           3%
Exam 1                     22%
Exam 2                     22%
Project                    35% 
* There will be ~5 homework assignments and 1 quiz each of equal weight that make up this score. The lowest score of those 6 or so grades will be dropped.

You must achieve passing grades on the both the project/homework as well as on the exams in order to pass the class! A rough measure of passing is that those within 1.75 standard deviations of the median of the students receiving a grade would be considered passing. A passing grade is a "C".


Home / announcements | Course overview | Staff and hours | Piazza
References / Notes / Handouts | Homework/Projects | Exams | Schedule | Gradescope