Computer architecture is a vibrant and ever changing area; this course will attempt to convey that to students. It focuses on the design and implementation of computer systems, as well as techniques for analyzing and comparing alternative computer organizations. We will take the broad view of computer architecture as it evolves - not just CPU design, but the places where hardware and software come together from tiny embedded devices to massive internet service platforms. Students will learn about styles of computer implementation and organization from a historical and modern perspective. Traditional concepts such as memory hierarchies, pipelining, instruction-level parallelism, data-level parallelism, thread-level parallelism will be discussed. Further, modern issues such as data speculation, dynamic compilation, communication architecture, multiprocessors, and data center will be introduced and discussed. Cutting-edge paradigms such as low-power processors, reliability, and scalable systems will be explored.
In addition to the textbook, this course includes a number of readings from research papers. Such papers are important for a number of reasons, not the least of which is to understand that design decisions are not always black and white.
John L. Hennessy and David A. Patterson,(CAA) "Computer architecture: a quantitative approach", Morgan Kaufmann, Fifth Edition, 2012.
M Dubois et al, Parallel Computer Organization and Design, 1st edition.
1、 (COD) Computer Organization and Design: The Hardware/Software Interface 4th Edition. David A.Patterson，John L.Hennessy
2、(CSPP) Computer Systems:A Programmer's Perspective, Second Edition； Randal E.Bryant，David R.O'Hallaron