The Memory Hierarchy

References

Outline

Writing and Reading Memory

Traditional Bus Structure Connecting CPU and Memory

Memory Bus
Memory Bus

Memory Read Transaction (1)

Memory Bus
Memory Bus

Memory Read Transaction (2)

Memory Bus
Memory Bus

Memory Read Transaction (3)

Memory Bus
Memory Bus

Memory Write Transaction (1)

Memory Bus
Memory Bus

Memory Write Transaction (2)

Memory Bus
Memory Bus

Memory Write Transaction (2)

Memory Bus
Memory Bus

Random-Access Memory (RAM)

RAM Technologies

Enhanced DRAMs

Conventional DRAM Organization

DRAM Array
DRAM Array

Reading DRAM Supercell (2,1)

DRAM RAS
DRAM RAS

Reading DRAM Supercell (2,1)

DRAM CAS
DRAM CAS

Memory Modules

DRAM Module
DRAM Module

The CPU-Memory Gap

CPU-Memory Gap
CPU-Memory Gap

Locality

Locality Example

sum = 0;
for (i = 0; i < n; i++) {
    sum += a[i];
}
return sum

Qualitative Estimates of Locality

Locality Example

Memory Hierarchies

Example Memory Hierarchy

Memory Hierarchy
Memory Hierarchy

Caches

General Cache Concepts

Cache Concepts
Cache Concepts

General Cache Concepts

Storage Technologies

Disk Geometry

Disk Geometry
Disk Geometry

Disk Capacity

Disk Operation

Disk Operation
Disk Operation

Disk Operation

Disk Operation
Disk Operation

Disk Access Time

Disk Access Time Example

I/O Bus

Reading a Disk Sector (1)

Reading a Disk Sector (2)

Reading a Disk Sector (3)

Nonvolatile Memories

Solid State Disks (SSDs)

SSD
SSD

SSD Tradeoffs versus Rotating Disks

Summary