NOTE
1.1 Computer Architecture Fundamentals
A map of the CPU, registers, memory hierarchy, caches, storage, DMA, and assembly concepts used to understand how software executes on hardware.
This is a historical learning note and may contain outdated or incomplete understanding.
1. Why Computer Architecture Matters
High-level programs eventually execute as machine instructions operating on registers and memory while interacting with caches, storage, and devices.
Understanding this layer helps explain:
- why memory access is much slower than register operations;
- why cache locality matters;
- why concurrent programs need memory-ordering rules;
- how system calls, interrupts, and DMA interact with the CPU;
- what compilers generate beneath Go, Java, C, and other languages.
2. CPU and Registers
The CPU executes instructions and keeps immediate execution state in registers.
See:
3. Memory Hierarchy
Modern systems use a hierarchy because no single storage technology simultaneously provides minimum latency, maximum capacity, low cost, and persistence.
A simplified hierarchy is:
registers
↓
L1/L2/L3 caches
↓
DRAM
↓
SSD / persistent storage
↓
remote / archival storage
Each lower level is generally larger and cheaper per byte but slower to access.
See Memory, CPU Cache, and Storage.
4. Devices and DMA
Devices can transfer data through DMA without requiring the CPU to copy every byte itself. See DMA.
5. Assembly
Assembly provides a human-readable representation of machine instructions and is useful for understanding function calls, register allocation, stack frames, atomics, and compiler output.
See Assembly Language.