ECE 56500 - Computer ArchitectureLecture Hours: 3 Credits: 3
CMPE Special Content Elective
Normally Offered: Each Fall
Computer architecture is the science and art of selecting and interconnecting hardware components to create a computer that meets functional, performance and cost goals. This course qualitatively and quantitatively examines uniprocessor computer design trade-offs. We will learn, for example, how uniprocessors execute many instructions concurrently and why state-of-the-art memory systems are nearly as complex as processors. Examining tradeoffs requires that you already know how to correctly design a computer, as is taught in the important prerequisite EE 43700.
- Computer Architecture - A Quantitative Approach, 5th Edition, D. Patterson and J. Hennessy, Elsevier Science, 2011, ISBN No. 978-0123838728.
- Readings in Computer Architecture, Mark Hill, Norman Jouppi and Gurindar Sohi, Morgan Kaufmann Publishers.
Learning Outcomes:A student who successfully fulfills the course requirements will have demonstrated:
- an understanding of advanced processor pipelines including mechanisms for hardware or compiler instruction scheduling. renaming, branch prediction, and precise interrupts. [1,2,6]
- an understanding of advanced cache techniques including hardware and software schemes for miss ratio reduction and miss penalty reduction, and high-bandwidth design for cache and main memory. [1,2,6]
- an understanding of virtual memory including page table design, TLBs, and interaction between caches and address translation. [1,2,6]
- an understanding of basic snoopy coherence and the notion of memory consistency models. [1,2,6]
|1.0||Performance and Cost|
|1||Pipelining - implementation and evaluation|
|4||Advanced pipelining - hardware and compiler techniques|
|1||Memory Hierarchy - cache design and evaluation|
|4||Advanced cache and compiler techniques, and virtual memory|
|1||Input/Output - devices and performance|
|1.5||Vector processing and multiprocessors|