ELE 548 Computer Architecture
Course Description: The goal of this course is to impart a deep understanding of high-performance computer system architecture. The emphasis is on memory systems, advanced pipelining, instruction-level parallelism, thread-level parallelism and multi-processor design. Topics covered include branch prediction techniques, dynamic instruction scheduling, memory hierarchy, virtual memory, memory consistency models, synchronization, and cache coherence protocols. Term project aims to develop an understanding of the techniques for quantitative analysis and evaluation of modern computing systems, such as the selection of appropriate benchmarks to reveal and compare the performance of alternative design choices in system design. The course is intended for graduate students in electrical and computer engineering, and computer science.
Prerequisite: ELE 305 (Introduction to Computer Architecture) or ELE 405 (Digital Computer Design) or equivalent, or permission of instructor
Textbook:
1) Computer Architecture: A Quantitative Approach (4th or 5th Edition), John Hennessy and David Patterson, Morgan Kaufmann Publishers, 2007, 2011.
2) Modern Processor Design: Fundamentals of Superscalar Processors, John Shen and Mikko Lipasti, McGraw-Hill, 2003.