Arquitectura · Sección 9

Jerarquía de memoria y caché

Localidad, bloques, aciertos, fallos y políticas de caché para acercar los datos a la velocidad del procesador.

3
lecciones
3
ejercicios resueltos
CONTENIDO ORIGINAL

Avanza en orden. Cada lección está redactada para Palta es Cool, utiliza ejemplos propios y termina con una actividad cuya respuesta puedes desplegar.

ANTES DE EMPEZAR

Ubícate antes de avanzar

01 / PUNTO DE PARTIDA

Conviene haber comprendido Pipeline y riesgos.

02 / META OBSERVABLE

Al terminar deberías poder relacionar Localidad con Organización de caché y resolver un caso nuevo.

03 / TIEMPO SUGERIDO

Reserva entre 75 y 120 minutos o divide el laboratorio en dos sesiones.

04 / PREPARA EL LABORATORIO

Las secciones 1–4 se pueden estudiar en papel. Desde RISC-V conviene preparar el simulador Ripes.

Abrir la guía de herramientas →
Diagnóstico rápido: ¿cómo se relacionan Localidad y Organización de caché?

No necesitas acertar todavía. Escribe una hipótesis de dos líneas y compárala con tu respuesta al finalizar; si puedes corregirla y justificar el cambio, hubo aprendizaje.

Ruta guiada · 3 lecciones

Aprende el tema paso a paso

Conectarás el comportamiento de un programa con la jerarquía de memoria y aprenderás a calcular por qué el orden de acceso puede importar tanto como el algoritmo.

Al terminar podrás
  • La caché apuesta a que volverás pronto o mirarás cerca
  • Etiqueta, índice y desplazamiento localizan el dato
  • Las políticas deciden cuándo actualizar el siguiente nivel
01
Jerarquía y localidad

La caché apuesta a que volverás pronto o mirarás cerca

Registros, cachés, memoria principal y almacenamiento intercambian capacidad, costo y latencia. La localidad temporal favorece reutilizar un dato; la espacial favorece acceder a direcciones vecinas. Una línea trae varios bytes en cada fallo.

01

Hit: el dato ya está en el nivel rápido.

02

Miss: debe buscarse en un nivel más lento.

03

El patrón de acceso determina la utilidad de una línea.

Comprueba lo aprendido · 01

¿Una caché más grande corrige cualquier patrón de acceso deficiente?

Mostrar respuesta

No. Puede reducir fallos de capacidad, pero un acceso con poca localidad o muchos conflictos aún desaprovecha líneas y ancho de banda.

02
Dónde puede ir un bloque

Etiqueta, índice y desplazamiento localizan el dato

El desplazamiento elige un byte dentro de la línea; el índice selecciona un conjunto; la etiqueta confirma qué bloque ocupa esa entrada. La asociatividad indica cuántas alternativas tiene un bloque dentro del conjunto.

01

Mapeo directo: una sola ubicación posible.

02

Asociativa por conjuntos: varias vías en el conjunto.

03

Totalmente asociativa: cualquier línea, con búsqueda más costosa.

Comprueba lo aprendido · 02

¿Qué problema reduce aumentar la asociatividad?

Mostrar respuesta

Los fallos por conflicto, porque bloques con el mismo índice disponen de más vías. A cambio aumenta comparación, energía y complejidad.

03
Escrituras y costo medio

Las políticas deciden cuándo actualizar el siguiente nivel

Write-through escribe también en el nivel inferior; write-back marca la línea sucia y difiere la escritura. Write-allocate trae la línea ante un fallo de escritura. El tiempo medio combina tasa de aciertos y penalización de fallos.

01

AMAT = tiempo de hit + tasa de miss × penalización.

02

Write-back reduce tráfico, pero necesita controlar líneas sucias.

03

Una comparación justa incluye lecturas, escrituras y conjunto de trabajo.

Comprueba lo aprendido · 03

Si se duplica la caché, ¿AMAT necesariamente se reduce a la mitad?

Mostrar respuesta

No. Deben medirse la nueva tasa de fallos y el posible cambio en tiempo de hit; la relación no es lineal.

Resumen de la sección

Tu recorrido en tres ideas

  1. La caché apuesta a que volverás pronto o mirarás cerca
  2. Etiqueta, índice y desplazamiento localizan el dato
  3. Las políticas deciden cuándo actualizar el siguiente nivel
PROFUNDIZACIÓN / LABORATORIO GUIADO

Simula una traza de caché a mano

Conecta dirección, bloque, conjunto, vía, localidad, política y tiempo medio de acceso.

CASO

Una caché directa de 1 KiB usa líneas de 16 bytes y recibe una secuencia de direcciones de 32 bits.

Procedimiento

  1. Deriva bits de offset, índice y etiqueta.
  2. Recorre la traza conservando estado y clasifica cada hit y miss.
  3. Cambia asociatividad o patrón y calcula AMAT con la nueva tasa.

Evidencia mínima

  • Tabla de conjuntos y etiquetas tras cada acceso.
  • Clasificación compulsorio, conflicto o capacidad cuando sea defendible.
  • AMAT con unidades y penalización explícita.
Mostrar razonamiento modelo

La caché tiene 64 líneas: 4 bits de offset y 6 de índice; el resto es etiqueta. La clasificación usa el estado previo, no intuición sobre cercanía numérica de direcciones.

Para ir más lejos

¿Por qué una línea más grande puede reducir y también aumentar fallos?

CIERRE DE LA SECCIÓN

Comprueba que puedes usarlo

Antes de continuar, revisa estos tropiezos frecuentes y resuelve un caso sin copiar los ejemplos.

ERROR 01

Usar solo el tamaño de caché para predecir rendimiento.

ERROR 02

Confundir dirección de un byte, bloque, línea, conjunto y vía.

DESAFÍO INTEGRADOR

Ahora hazlo sin guía

Para una caché dada, separa etiqueta, índice y offset; simula una traza y calcula hits, misses y AMAT.

Mostrar pauta de corrección
Una respuesta sólida:
  • Deriva correctamente bits y cantidad de conjuntos.
  • Clasifica cada acceso usando el estado previo.
  • Relaciona el resultado con localidad y política de escritura.