Overview
The CPU (Central Processing Unit) is the component that actually executes a program: it repeatedly
Instruction Set Architecture
An Instruction Set Architecture is the set of instructions a CPU can execute, plus the rules for
Fetch-Decode-Execute Cycle
Every instruction a CPU runs goes through the same basic loop: fetch it from memory, decode what it
Pipelining
Pipelining overlaps the fetch-decode-execute stages of multiple instructions so that, once the
Superscalar & Out-of-Order Execution
A simple pipeline gets throughput to about one instruction per cycle. Modern high-performance CPUs
Multicore & Parallelism
Making a single CPU core faster (higher clock speed, deeper pipelines, wider superscalar execution)
Privilege levels
An operating system has to run code it does not trust — a downloaded binary, a browser tab, a
Exceptions and traps
A CPU executing a stream of instructions needs a way to stop doing that and run something else.
Memory ordering
Why a multiprocessor does not execute your loads and stores in the order you wrote them, and what a fence actually buys.
Hardware atomics
Compare-and-swap, load-linked/store-conditional, and what an atomic instruction costs in cache-line ownership.