This course forms a strong foundation in the understanding and design of modern computing systems. Building on a computer organization base, this course explores techniques that go into designing a modern microprocessor. Fundamental understanding of computer architecture is key not only for students interested in hardware and processor design, but is a foundation for students interested in compilers, operating systems, and high performance programming. This course will explore how the computer architect can utilize the increasing number of transistors available to improve the performance of a processor. Focus will be given to architectures that can exploit different forms of parallelism, whether they be implicit or explicit. This course covers architectural techniques such as multi-issue superscalar processors, out-of-order processors, Very Long Instruction Word (VLIW) processors, advanced caching, and multiprocessor systems.
This course is targeted at senior-level undergraduates and first-year graduate students. Students should have a good working understanding of digital logic, basic processor design and organization, pipelining, and simple cache design.
John L. Hennessy and David A. Patterson
The 5th edition is new and very different than previous editions. USE THE 5TH EDITION. Approximately $45 on Amazon
Optional Additional Text:
Modern Processor Design: Fundamentals of Superscalar Processors (Waveland Press) (1st Edition), 2005, reissued 2013.
John P. Shen and Mikko H. Lipasti
Approximately $75 on Amazon
The course will be made up of lectures (about 80 minutes each), two exams, and in-lecture assessments
No certificates, statements of accomplishment, or other credentials will be awarded in connection with this course.