Master Course Description for EE-469 (ABET sheet)

Title: Computer Architecture I

Credits: 5

UW Course Catalog Description

Coordinator: Scott Hauck, Professor, Electrical and Computer Engineering

Goals: To teach the organization and design of modern microprocessors.

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

  1. Write simple assembly language programs.
  2. Identify the major components of a microprocessor.
  3. Design a microprocessor that supports a given instruction set.
  4. Analyze microprocessor performance, including cache memory systems.
  5. Demonstrate understanding of modern microprocessor features.

Textbook: Patterson, Hennessy, Computer Organization and Design: The Hardware/Software Interface, ARM Edition, Morgan Kaufmann, 2017.

Prerequisites by Topic:

  1. Introduction to Digital Circuits and Systems (EE-271 or CSE-369)
  2. Introduction to Programming - C, C++, or Java (CSE-142, 143)


  1. Introduction to processor architecture. Performance measures.
  2. Assembly language programming.
  3. Computer arithmetic.
  4. Processor datapaths, control.
  5. Pipelining.
  6. Memory hierarchy, caches.
  7. Advanced topics in computer architecture: ILP, VLIW, Superscalar.

Course Structure: The class meets for four hours every week. There will be a midterm and final, multiple lab assignments (involving the design of a single-cycle and pipelined processor with approximately 8 instructions), and approximately weekly short homework assignments.

Computer Resources: PCs or Laptops with Altera Quartus and Modelsim software installed. Students will design a simple microprocessor through multiple laboratory assignments:

  1. Register File
  2. Arithmetic Logic Unit
  3. Single-cycle CPU
  4. Pipelined CPU

Laboratory Resources: None.

Grading: Class grades will be based upon weekly homeworks, the lab assignments, midterm, and final exam.

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)

(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)

(6) An ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions (M)

(7) An ability to acquire and apply new knowledge as needed, using appropriate learning strategies (L)

Prepared By: Scott Hauck

Last revised: 2/15/19