>
section 13 of 132 min read

Reading List

  • Hennessy & Patterson, Computer Organization and Design: The Hardware/Software Interface (RISC-V edition). The textbook: clear, modern, full of running examples.
  • Hennessy & Patterson, Computer Architecture: A Quantitative Approach. The graduate text. Pipelining, caches, multiprocessors in depth.
  • Stallings, Computer Organization and Architecture. Different angle, more history, very readable.
  • Hamacher, Vranesic, Zaky, Computer Organization. Classic textbook, careful and methodical.
  • Bryant & O'Hallaron, Computer Systems: A Programmer's Perspective. Bridges architecture and OS; excellent on caches and virtual memory.
  • Ulrich Drepper, "What Every Programmer Should Know About Memory." A long online article that goes deeper than most textbooks on caches and DRAM.
  • Daniel Genkin, Yuval Yarom, et al. Papers on Spectre/Meltdown/Foreshadow. Read in chronological order to see how the attack family evolved.
  • Intel Software Developer's Manual, Volumes 1-3. The reference. Imposing but searchable.
  • ARM Architecture Reference Manual for ARMv8-A. The reference for the world's most-shipped architecture.
  • The RISC-V ISA Manual. Short, clean, free.

This chapter ends here. Phase 3 of the curriculum then turns to specific microprocessors and microcontrollers (Chapter 15), where we ground the abstractions in real silicon: the 8086 family, ARM Cortex-M and Cortex-A, AVR, MSP430. Read this chapter twice before moving on; the patterns recur in every later chapter.