EmbeddedRelated.com
Books

Computer Architecture: A Quantitative Approach, 4th Edition

Hennessy, John L., Patterson, David A. 2006

The era of seemingly unlimited growth in processor performance is over: single chip architectures can no longer overcome the performance limitations imposed by the power they consume and the heat they generate. Today, Intel and other semiconductor firms are abandoning the single fast processor model in favor of multi-core microprocessors--chips that combine two or more processors in a single package. In the fourth edition of Computer Architecture, the authors focus on this historic shift, increasing their coverage of multiprocessors and exploring the most effective ways of achieving parallelism as the key to unlocking the power of multiple processor architectures. Additionally, the new edition has expanded and updated coverage of design topics beyond processor performance, including power, reliability, availability, and dependability.

CD System Requirements
PDF Viewer
The CD material includes PDF documents that you can read with a PDF viewer such as Adobe, Acrobat or Adobe Reader. Recent versions of Adobe Reader for some platforms are included on the CD.

HTML Browser
The navigation framework on this CD is delivered in HTML and JavaScript. It is recommended that you install the latest version of your favorite HTML browser to view this CD. The content has been verified under Windows XP with the following browsers: Internet Explorer 6.0, Firefox 1.5; under Mac OS X (Panther) with the following browsers: Internet Explorer 5.2, Firefox 1.0.6, Safari 1.3; and under Mandriva Linux 2006 with the following browsers: Firefox 1.0.6, Konqueror 3.4.2, Mozilla 1.7.11.
The content is designed to be viewed in a browser window that is at least 720 pixels wide. You may find the content does not display well if your display is not set to at least 1024x768 pixel resolution.

Operating System
This CD can be used under any operating system that includes an HTML browser and a PDF viewer. This includes Windows, Mac OS, and most Linux and Unix systems.

Increased coverage on achieving parallelism with multiprocessors.

Case studies of latest technology from industry including the Sun Niagara Multiprocessor, AMD Opteron, and Pentium 4.

Three review appendices, included in the printed volume, review the basic and intermediate principles the main text relies upon.

Eight reference appendices, collected on the CD, cover a range of topics including specific architectures, embedded systems, application specific processors--some guest authored by subject experts.


Why Read This Book

You should read this book if you want a rigorous, numbers-driven foundation for designing and evaluating modern processors and multicore systems; you will learn how to quantify trade-offs in performance, power, and cost so design decisions are evidence-based. The book emphasizes parallelism, memory hierarchy, and real-world case studies that translate directly to better firmware, SoC, and system-level engineering choices.

Who Will Benefit

Advanced undergraduates, graduate students, and practicing architects or embedded engineers who need a quantitative framework for designing or evaluating CPUs, multicore systems, memory systems, and performance-critical embedded platforms.

Level: Advanced — Prerequisites: Solid grounding in digital logic and computer organization, familiarity with C and assembly-level programming, basic probability and discrete math, and exposure to operating-system and performance concepts.

Get This Book

Key Takeaways

  • Analyze processor and system performance quantitatively using metrics, Amdahl's law, and benchmarking methodology
  • Design and evaluate pipelined and superscalar processors to exploit instruction-level parallelism
  • Architect memory hierarchies and caches to balance latency, bandwidth, and cost for embedded and server workloads
  • Assess and design multicore and multiprocessor systems, including interconnects and cache-coherence implications
  • Quantify power, energy, and reliability trade-offs and incorporate them into architectural decisions
  • Apply case-study lessons to map real-world workloads onto efficient hardware and to interpret hardware performance counters

Topics Covered

  1. Principles of Computer Design: Cost, Performance, and Amdahl's Law
  2. Instruction Set Principles and Examples (RISC principles, MIPS examples)
  3. Instruction-Level Parallelism: Pipelining and Hazards
  4. Exploiting ILP: Dynamic Scheduling and Out-of-Order Execution
  5. Data-Level Parallelism: SIMD and Vector Architectures
  6. Memory Hierarchy Design: Caches, Virtual Memory, and Locality
  7. Storage, I/O, and Interfacing
  8. Multiprocessors and Multicore Architectures: Models and Scalability
  9. Interconnection Networks and Cache Coherence
  10. Dependability, Reliability, and Security Considerations
  11. Power, Energy, and Thermal Constraints in Architecture
  12. Quantitative Case Studies and Emerging Trends (multicore, warehouse-scale computing)

Languages, Platforms & Tools

MIPS assemblyCMIPS (as primary example)x86 (case studies)ARM (conceptual coverage applicable to ARM cores)General RISC and multicore architecturesCycle-accurate and functional simulatorsHardware performance countersBenchmark suites (e.g., SPEC)Architectural modeling and profiling tools

How It Compares

More quantitative and architecture-focused than Patterson & Hennessy's Computer Organization and Design (which is more introductory), and broader in hardware scope than Bryant & O'Hallaron's Computer Systems: A Programmer's Perspective, which focuses on the software view of systems.

Related Books

Bryant, Randal, O'Hallaron,...