ECE 43700 - Computer Design and PrototypingLecture Hours: 1 Lab Hours: 3 Credits: 4
EE Elective - Adv Level Lab
Normally Offered: Each Fall
ECE 33700 and ECE 36200
Computer design is the science and art of selecting and interconnecting hardware components to build a computer that meets functional, performance, and cost goals. In this course, students will learn to design a uniprocessor computer system, including processor datapath, processor control, memory systems, and I/O. The course provides a thorough and detailed treatment of basic computer arithmetic algorithms, multi-cycle implementations of modern computer instruction sets, pipelined CPU designs, design of cache hierarchy and virtual memory, and fundamentals of computer system I/O. The course also includes evaluation and analysis of processor and memory performance. A project which involves the design and implementation of multi-cycle CPU, and a pipelined CPU with a cache hierarchy using CAD tools is an integral part of the course.
This course is a required CMPE Advanced Elective for catalog terms prior to Fall 2018. For Fall 2018 and later catalog terms it is a CMPE Selective.
- Computer Organization and Design: The Hardware-Software Interface, 5th Edition, J. L. Hennessy and D. A. Patterson, Morgan Kaufmann Publisher, 2013, ISBN No. 0124077269.
- Computer Organization and Design: The Hardware-Software Interface, 2nd Edition, J. L. Hennessy and D. A. Patterson, Morgan Kaufmann Publisher, 1998, ISBN No. 155-860-4286.
Learning Outcomes:A student who successfully fulfills the course requirements will have demonstrated:
- an understanding of basic computer arithmetic algorithms. [1,2]
- an ability to understand and implement multi-cycle implementations of a computer instruction set. [1,2]
- an ability to understand and design a pipelined CPU, and cache hierarchy including virtual memory. [1,2]
- an understanding of the fundamentals of computer system I/O. [1,2]
- an ability to analyze and evaluate CPU and memory hierarchy performance. [1,6]
- experience with the design, simulation, and documentation of a multi-cycle CPU, and a pipelined CPU with a cache hierarchy using modern CAD tools. [1,2,3,6,7]
|3-10||Basic CPU Design, Simulation, and Prototyping|
|11-15||Extended CPU Design, Simulation, and Prototyping|