Memory Hierarchy

Understanding cache, main memory, and secondary storage in computer systems

Introduction

Memory hierarchy is a concept in computer architecture that organizes different types of memory based on their speed, size, and cost, creating a layered structure to optimize performance and cost.

Memory Levels

From fastest to slowest:

  1. Registers
  2. Cache Memory (L1, L2, L3)
  3. Main Memory (RAM)
  4. Secondary Storage (HDD/SSD)
  5. Tertiary Storage (Tape, Optical)

Cache Memory

Key aspects of cache memory:

  • Cache Organization
    • Direct Mapped
    • Set Associative
    • Fully Associative
  • Cache Policies
    • Replacement Policies
    • Write Policies
    • Coherence Protocols

Main Memory

Characteristics of main memory:

  • Random Access Memory (RAM)
  • Dynamic RAM (DRAM)
  • Static RAM (SRAM)
  • Memory Controllers
  • Memory Interleaving

Important Concepts

Key aspects of memory hierarchy:

  • Access time and latency
  • Bandwidth and throughput
  • Cost per bit
  • Volatility
  • Memory management