Introduction to Computer Systems Memory Hierarchy

Memory Hierarchy

Random Access Memory (RAM)

Non-Volatile Memory

Uses for Non-Volatile Memory

Memory Bus

Memory Read (movq A, %rax)

Memory Write (movq %rax, A)

Rotating Storage

Disk Geometry

Disk Capacity

Disk Operation

Timing

Solid State Disk

I/O Bus


Locality

Examples


sum = 0;
for (int i = 0; ...

Caching

Caching - Big Idea

Cache Memories

Direct Mapped Cache

Set Associative Cache

Fully Associative Cache

Cache Writes

Typical Cache Design
Cache Performance Metrics
Analysis
Writing Cache Friendly Code