Chapter 1

Computer Abstractions and Technology

Introduction, Performance, The Power Wall, The Sea Change: The Switch from Uniprocessors to Multiprocessors, Manufacturing and Benchmarking the AMD Opteron X4

Notes Coming Soon
Chapter 2

Instructions: Language of the Computer

Introduction, Operations of the Computer Hardware, Operands of the Computer Hardware, Signed and Unsigned Numbers, Representing Instructions in the Computer, Logical Operations,Instructions for Making Decisions, Supporting Procedures in Computer Hardware, MIPS Addressing for 32-Bit Immediates and Addresses, Parallelism and Instructions, Translating and Starting a Program, Arrays versus Pointers, Advanced Material: Compiling C and Interpreting Java, ARM Instructions, x86 Instructions.

Notes Coming Soon
Chapter 3

Arithmetic for Computers

Introduction, Addition and Subtraction, Multiplication, Division, Floating Point, Parallelism and Computer Arithmetic: Associativity, Real Stuff: Floating Point in the x86.

Notes Coming Soon
Chapter 4

The Processor

Introduction, Logic Design Conventions, Building a Data path, A Simple Implementation Scheme, An Overview of Pipelining, Pipelined Data path and Control, Data Hazards: Forwarding versus Stalling, Control Hazards, Exceptions, Parallelism and Advanced Instruction-Level Parallelism, Real Stuff: the AMD Opteron X4 Pipeline, Advanced Topic: an Introduction to Digital DesignUsing a Hardware Design Language to Describe andModel a Pipeline and More Pipelining Illustrations.

Notes Coming Soon
Chapter 5

Large and Fast: Exploiting Memory Hierarchy

Introduction, The Basics of Caches, Measuring and Improving Cache Performance, Virtual Memory, A Common Framework for Memory Hierarchies, Virtual Machines, Using a FiniteState Machine to Control a Simple Cache, Parallelism and Memory Hierarchies: Cache Coherence, Advanced Material: Implementing Cache Controllers, Real Stuff: the AMD Opteron X4 and Intel Nehalem Memory Hierarchies.\n91

Notes Coming Soon
Chapter 6

Storage and Other I/O Topics

Introduction, Dependability, Reliability, and Availability, Disk Storage, Flash Storage, Connecting Processors, Memory, and I/O Devices, Interfacing I/O Devices to the Processor, Memory, and Operating System, I/O Performance Measures: Examples from Disk and File Systems, Designing an I/O System, Parallelism and I/O: Redundant Arrays of Inexpensive Disks, Real Stuff: Sun Fire x4 Server, Advanced Topics: Networks.

Notes Coming Soon
Chapter 7

Multicores, Multiprocessors, and Clusters

Introduction, The Difficulty of Creating Parallel Processing Programs, Shared Memory Multiprocessors, Clusters and Other Message-Passing Multiprocessors, Hardware Multithreading, SISD, MIMD, SIMD, SPMD, and Vector, Introduction to Graphics Processing Units, Introduction to Multiprocessor Network Topologies, Multiprocessor Benchmarks, Roofline: A Simple Performance Model, Real Stuff: Benchmarking Four Multicores Using theRoofline Model.