Course Description

No: EE 471
Title: Computer Organization and Design
Credits: 5
Goals: To teach the organization and design of modern microprocessors
Learning Objectives: At the end of this course, students will be able to:
1.
2.
3.
4.
5.

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

Textbooks: Patterson, Hennessy, Computer Organization and Design: The Hardware/Software
Interface, Fifth Edition, 2013, Morgan Kaufmann.
Prerequisites by Topic:
1. Introduction to Digital Circuits and Systems (EE 271)
2. Introduction to Programming - C and C++ or Java (CSE 142, 143)
Topics:
1.
2.
3.
4.
5.
6.
7.

Introduction to processor architecture. Performance measures.
Assembly language programming.
Computer Arithmetic.
Processor Datapath & Control.
Pipelining.
Memory hierarchy, caches.
Advanced topics in computer architecture: ILP, VLIW, Superscalar.

Course Structure: The class meets for seven hours every week (including lab hours). There will
be a midterm and final, four lab assignments (involving the design of a single-cycle and a
pipelined processor with approximately 10 instructions), and five short homework assignments.
Computer Resources: Workstations with Cadence Verilog simulation and design CAD tools.
Students will design a simple microprocessor through 4 laboratory assignments:
1. Lab 1: Register File design
2. Lab 2: ALU design

CAD tools will be utilized for their CPU design. manufacturability and sustainability. Computer architecture is a rapidly evolving field. and an ability to engage in life-long learning. ethical. (H) (d) An ability to function on multidisciplinary teams. skills and modern engineering tools necessary for engineering practice. The class focuses on contemporary microprocessor design issues. Grading: Homework (10%). (M) (f) An understanding of professional and ethical responsibilities. social. (M) (l) Knowledge of probability and statistics. The homeworks. Homeworks focus on the application of engineering concepts to typical design problems. (c) An ability to design a system. Labs (40%). The class has an engineering/mathematics and design focus throughout. and exams test various aspects of the math and engineering knowledge developed by the students. labs. environmental and societal context. N/A. N/A (h) The broad education necessary to understand the impact of engineering solutions in a global. and engineering. and current architectures. N/A (i) A recognition of the need for. N/A (e) An ability to identify. economic. Students must design efficient. as well as to analyze and interpret data. component or process to meet desired needs within realistic constraints such as economic. Final Exam (30%). This includes a focus on multiple performance metrics. (L) (k) An ability to use the techniques. (L) (j) Knowledge of contemporary issues. science. (M) (b) An ability to design and conduct experiments. environmental. Midterm (20%).3. Lab 4: Pipelined MIPS processor design Laboratory Resources: None. (ABET) Outcome Coverage: (a) An ability to apply knowledge of mathematics. formulate and solve engineering problems. effective hardware components. N/A (g) An ability to communicate effectively. N/A . including applications appropriate to electrical engineering. political. health and safety. and students will be exposed to the changes in architecture design over time. Lab 3: Single-cycle MIPS processor design 4.

complex variables and discrete mathematics. N/A . linear algebra.(m) Knowledge of differential equations.