EmbeddedRelated.com
Books
The 2026 Embedded Online Conference

Computer Organization and Design ARM Edition: The Hardware Software Interface (The Morgan Kaufmann Series in Computer Ar

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

The new ARM Edition of Computer Organization and Design features a subset of the ARMv8-A architecture, which is used to present the fundamentals of hardware technologies, assembly language, computer arithmetic, pipelining, memory hierarchies, and I/O.

With the post-PC era now upon us, Computer Organization and Design moves forward to explore this generational change with examples, exercises, and material highlighting the emergence of mobile computing and the Cloud. Updated content featuring tablet computers, Cloud infrastructure, and the ARM (mobile computing devices) and x86 (cloud computing) architectures is included.

An online companion Web site provides links to a free version of the DS-5 Community Edition (a free professional quality tool chain developed by ARM), as well as additional advanced content for further study, appendices, glossary, references, and recommended reading.


Why Read This Book

You will gain a clear, systematic understanding of how processors, memory hierarchies, and I/O interact at the hardware/software boundary using a modern ARMv8-A example set. The book balances theory and practical examples so you can reason about performance trade-offs, read assembly, and design or optimize firmware with an informed view of the underlying silicon.

Who Will Benefit

Embedded/firmware engineers, system programmers, and advanced students who need to bridge software with processor/memory/IO design and understand ARM-based platforms.

Level: Intermediate — Prerequisites: Basic programming (C recommended), familiarity with binary/hex and basic digital logic; prior exposure to assembly helps but is not required.

Get This Book

Key Takeaways

  • Describe the ARMv8-A instruction set and read/write simple ARM assembly programs.
  • Analyze and reason about pipelined processors, hazards, and performance penalties.
  • Design and evaluate memory hierarchies including caches, virtual memory, and locality effects.
  • Apply computer arithmetic concepts (fixed/floating point, binary operations) to real design problems.
  • Explain I/O, interrupts, exception handling, and the hardware/software interface for device access.
  • Compare architectural trade-offs for performance, power, and area in modern mobile/cloud processors.

Topics Covered

  1. 1. Computer Abstractions and Technology
  2. 2. ARMv8-A Instruction Set and Assembly Language
  3. 3. Representing and Manipulating Information (Computer Arithmetic)
  4. 4. The Datapath and Control — Building a Single-Cycle Processor
  5. 5. Pipelining and Pipeline Hazards
  6. 6. Instruction-Level Parallelism and Dynamic Scheduling (overview)
  7. 7. Memory Hierarchy: Caches and Virtual Memory
  8. 8. Storage, Persistence, and I/O (Memory-Mapped I/O, Interrupts)
  9. 9. Multicore and Multiprocessor Systems (parallelism and coherence basics)
  10. 10. Case Studies: Mobile SoCs, Cloud Infrastructure and Design Trade-offs
  11. Appendices: ARMv8-A reference material, assembly tools and examples

Languages, Platforms & Tools

ARM assemblyCARMv8-A (ARM architecture, mobile SoCs)ARM-based development platforms (examples)ARM DS-5 Community Edition (mentioned)Assemblers and compilers (GCC/clang/ARM toolchain)simulators/emulators (educational models)

How It Compares

More practical and ARM-focused than older MIPS-based COD editions and more accessible than Hennessy & Patterson's Computer Architecture: A Quantitative Approach, which is heavier on performance modeling and advanced quantitative analysis.

Related Books

Bryant, Randal, O'Hallaron,...
The 2026 Embedded Online Conference