Master Course Description for CSE-470 / EE-470 (ABET sheet)

Title: Computer Architecture II

Credits: 4

UW Course Catalog Description:

Coordinator: Luis Ceze, Professor, Computer Science and Engineering

Goals: To teach the architecture of modern computer systems.

Learning Objectives: At the end of this course, students will be able to:

  1. Understand how a modern microprocessor works.
  2. Understand how multicores work.
  3. Have a general understanding of GPUs.
  4. Have a general understanding of Warehouse-scale computers.
  5. Appreciate the importance of energy efficiency in computing.

Textbook: Hennessy and Patterson, Computer Architecture: A Quantitative Approach 5th Ed., Morgan Kaufmann, 2012.

Prerequisites by Topic:

  1. Introduction to Programming: C, C++, or Java (CSE-142, CSE-143)
  2. Basic processor organization (CSE-469/EE-469).


  1. Introduction to architecture and metrics (performance and energy)
  2. The ISA
  3. Pipelining
  4. Branch prediction
  5. Superscalars and dynamic scheduling
  6. Multithreading
  7. Memory hierarchy (caches, prefetching, virtual memory)
  8. Cache coherence
  9. Memory consistency
  10. Overview of GPUs and warehouse-scale computers
  11. Current trends in computer architectures (e.g., specialization)

Course Structure: The class meets for 160 minutes every week. There is a midterm and a project, multiple programming/simulation assignments, and bi-weekly short homework or paper review assignments.

Computer Resources: System with Linux installed.

Laboratory Resources: None.

Grading: Class grades are based upon bi-weekly homeworks, the programming and simulation assignments, midterm, and project.

ABET Student Outcome Coverage: This course addresses the following outcomes:

H = high relevance, M = medium relevance, L = low relevance to course.

(1) An ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics (H) Students learn key architectural techniques from original research papers and discuss in class how those solutions are implemented, their trade-offs and relevance to today.

(2) An ability to apply engineering design to produce solutions that meet specified needs with consideration of public health, safety, and welfare, as well as global, cultural, social, environmental, and economic factors (M) Students discuss and learn about contemporary needs and how key hardware design techniques are useful for addressing them. Students produce a written deep-dive summary of a research topic that synthesizes core knowledge in the area.

(6) An ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions (M) Students present past work orally and help drive discussion.

(7) An ability to acquire and apply new knowledge as needed, using appropriate learning strategies (L) Students synthesize past knowledge across topics and communicate it in written form.

Prepared By: Mark Oskin, and Scott Hauck

Last revised: 5/6/2019