Jerarquía de Memoria

La pirámide de memoria: registros, caché, RAM, almacenamiento, y por qué la jerarquía importa para el rendimiento.

Ninguna tecnología de memoria individual es simultáneamente rápida, grande y barata. La jerarquía de memoria resuelve esto colocando memoria pequeña-rápida-cara cerca de la CPU y memoria grande-lenta-barata más lejos. Las cachés explotan la localidad de referencia para hacer la jerarquía transparente, creando la ilusión de un sistema de memoria grande y rápido.

Objectives

  • Describir la pirámide de jerarquía de memoria (registros → caché → RAM → almacenamiento)
  • Explicar la localidad temporal y espacial de referencia
  • Comprender conceptos de caché: aciertos, fallos, tasa de aciertos y penalización por fallo
  • Comparar cachés de mapeo directo, asociativas por conjuntos y completamente asociativas
  • Calcular el tiempo de acceso efectivo a memoria

Key Takeaways

  • Jerarquía de memoria: la velocidad disminuye y la capacidad aumenta en cada nivel
  • La localidad de referencia hace efectivo el almacenamiento en caché (tasas de acierto del 90-99%)
  • El tiempo de acceso efectivo ≈ tiempo de acierto en caché (cuando la tasa de aciertos es alta)
  • Organización de caché: mapeo directo, asociativa por conjuntos, completamente asociativa
  • La jerarquía crea la ilusión de una memoria grande y rápida

Applications

  • Diseño de CPU: La jerarquía de caché L1/L2/L3 es crítica para el rendimiento del procesador.
  • Memoria Virtual: El sistema operativo usa la DRAM como caché para el almacenamiento en disco/SSD.
  • Sistemas de Bases de Datos: Los búferes de memoria cachean páginas de disco frecuentemente accedidas en RAM.
  • Caché Web: Las CDN y las cachés del navegador siguen el mismo principio jerárquico.

Practice Problems

Problem 1: Tasa de aciertos de caché L1 = 95%, tiempo de acceso L1 = 2 ns, tiempo de acceso L2 = 10 ns. ¿Cuál es el tiempo de acceso efectivo?

Problem 2: Un programa recorre un arreglo de 1000 elementos. ¿Qué tipo de localidad exhibe esto?

Problem 3: Una caché asociativa de 4 vías tiene 256 conjuntos. Cada línea tiene 64 bytes. ¿Cuál es el tamaño total de la caché?

Problem 4: La latencia de DRAM es 100 ns, la latencia de SSD es 100 μs. ¿Cuántas veces más rápida es la DRAM?