The field of computer architecture and microprocessor design has undergone a significant change in the past decade. The three best books about computer architecture that I know of are:Computer Architecture, Fifth Edition: A Quantitative ApproachModern Processor Design: Fundamentals of Superscalar ProcessorsParallel Computer Organization and Design (this book)Of these three books, Parallel Computer Organization and Design has the best coverage of the issues that have limited the increase in single core performance, as well as important constraints in the development of multicore processors.Despite the title, this book covers all the important elements associated with the design of modern high performance CPUs, not just parallel computers.The first four chapters focus on topics that don't directly deal with parallelism, but matter more for the design of the components in a CPU. These chapters help motivate the demand for parallel computers by highlighting limitations of scalar architectures, but they also give a good overview of fundamental concepts for the design of a CPU core. Chapters 5 through 8 focus on topics related to designing a parallel system, while chapter 9 provides a survey of simulation techniques used in the development of modern CPUs.The book is organized in a logical fashion and it is instructive to read it from cover to cover. However, each chapter also provides standalone coverage of a specific topic and can be read individually. The chapters are also comprehensive and the book does not assume that the reader has an extensive background in computer architecture. I think it would be useful as a textbook for someone in a computer architecture course, or simply as a good reference on modern CPU design.My primary complaint with the book is the lack of references. There are none. While the authors clearly drew on a vast amount of personal knowledge, mistakes or omissions are inevitable when covering so much material. For instance, I noticed that the explanation of the SMARTS sampling technique on pages 512-513 was not completely correct. This made me somewhat less confident about other topics explained in the book that I don't have as much expertise in. Having references would have added to the credibility of the book.Another failing is that the book does not differentiate clearly between topics that are implemented in commercially available CPUs and ones that currently only exist as research proposals. This was most notable in the explanation of thread-level speculation in section 8.5.4. Also, Chapter 9 did not differentiate between simulation techniques used primarily in academic research and those used for development of real CPUs.Overall, however, I found the book to be a clear and comprehensive survey of the most important topics related to the design of modern CPUs, and I highly recommend it for anyone wanting to learn and understand the details of how modern CPUs work.