Vista técnica de la jerarquía de cachés L1 y L2 en una gpu con chips sram e interconexiones

La jerarquía de caché en la GPU es un sistema de almacenamiento intermedio escalonado que reduce la latencia de acceso a los datos. Funciona almacenando copias de la información más utilizada cerca de los núcleos de procesamiento, evitando que el chip dependa constantemente de la VRAM, que es más lenta.

El flujo de datos en una tarjeta gráfica es masivo. Para evitar que los núcleos de ejecución se queden inactivos esperando información, se implementan capas de memoria con distintas velocidades y capacidades.

{inAds}

Estructura de niveles en la memoria volátil de la GPU

La arquitectura de una GPU no es lineal, sino masivamente paralela. Esto obliga a que la caché esté distribuida para alimentar a miles de hilos simultáneamente.

Caché L1: La memoria de respuesta inmediata

La caché L1 se ubica dentro de cada unidad de procesamiento, como los Streaming Multiprocessors (SM) de NVIDIA o las Compute Units (CU) de AMD. Es la memoria más rápida y pequeña de toda la jerarquía. Su función principal es almacenar datos temporales que los hilos de ejecución necesitan en tiempo real. Al estar físicamente integrada en el núcleo, la latencia es mínima, aunque su capacidad se mide en pocos kilobytes.

Caché L2: El puente de coherencia

La caché L2 actúa como un repositorio compartido para todos los núcleos de la GPU. A diferencia de la L1, que es privada por SM, la L2 es global. Su objetivo es reducir la cantidad de peticiones que llegan a la memoria de video externa. Si un dato no se encuentra en la L1, el sistema consulta la L2. Si el dato reside allí, se evita un viaje costoso hacia la VRAM, optimizando el ancho de banda disponible.

La evolución hacia la caché L3 y el Infinity Cache

Algunas arquitecturas modernas, especialmente las de AMD RDNA, han introducido una capa adicional llamada Infinity Cache. Esta funciona como una caché L3 masiva. Su propósito es almacenar fragmentos de datos ya procesados o texturas frecuentes para que no tengan que viajar por el bus de memoria. Esto permite que GPUs con buses de memoria más estrechos alcancen rendimientos similares a modelos con buses más anchos.

Flujo de datos y gestión de la contención

Cuando una GPU procesa un frame, los hilos leen celdas dentro de un bloque de datos. El sistema busca la información siguiendo un orden estrictamente jerárquico: L1 $\rightarrow$ L2 $\rightarrow$ L3 $\rightarrow$ VRAM.

La contención ocurre cuando múltiples núcleos intentan acceder al mismo dato simultáneamente. La jerarquía de caché mitiga este problema distribuyendo la carga. Al tener copias locales en la L1, se reduce la presión sobre la L2 y la memoria global.

Nivel de Caché Ubicación Velocidad Capacidad Alcance
L1 Interna en el SM/CU Ultra rápida Muy baja Privada por núcleo
L2 Interconectada Rápida Media Compartida global
L3 / Infinity Chiplet / Die Media-Alta Alta Global / Segmentada
VRAM Módulos externos Lenta (relativa) Muy alta Sistema completo

Diferencias operativas entre la caché de GPU y CPU

Aunque ambos sistemas usan niveles (L1, L2, L3), la filosofía de diseño es opuesta debido a la naturaleza de las cargas de trabajo.

La CPU está diseñada para la latencia baja en tareas secuenciales. Utiliza cachés muy grandes en relación a sus núcleos para predecir qué dato necesitará el siguiente hilo. En cambio, la GPU prioriza el rendimiento masivo (throughput). No intenta predecir tanto el dato, sino que gestiona miles de peticiones pequeñas al mismo tiempo.

Mientras que una CPU puede detenerse si falla un acceso a caché (cache miss), la GPU simplemente cambia el contexto al siguiente grupo de hilos (warps o wavefronts). Esto permite que la GPU siga trabajando mientras el dato solicitado viaja desde la VRAM hacia la jerarquía de caché.

Impacto del tamaño de caché en el rendimiento real

Un aumento en la capacidad de la caché L2 o L3 tiene un efecto directo en la tasa de frames por segundo (FPS). Cuando un juego utiliza texturas de alta resolución, el volumen de datos es enorme. Si la caché es insuficiente, la GPU sufre cuellos de botella debido a la velocidad de la GDDR6X.

La implementación de cachés más grandes permite: * Reducir el consumo energético al evitar accesos externos. * Aumentar el rendimiento en resoluciones altas (4K), donde el ancho de banda de la VRAM suele saturarse. * Mejorar la estabilidad del frame time, evitando caídas bruscas de rendimiento cuando se cargan nuevos assets en escena.

Consultas frecuentes sobre la arquitectura de memoria

¿Diferencia entre caché L1 L2 y L3?

La L1 es la más rápida y pequeña, integrada en cada núcleo para acceso inmediato. La L2 es más grande y actúa como un almacén compartido para reducir el tráfico hacia la memoria principal. La L3, presente en algunas arquitecturas, es la capa más amplia y lenta de las tres, diseñada para almacenar grandes bloques de datos y evitar que el procesador tenga que recurrir a la VRAM externa.

¿Cómo funcionan las cachés de la GPU?

Funcionan mediante un sistema de niveles que almacenan copias de los datos más solicitados. Cuando un núcleo necesita una información, la busca primero en la L1; si no está, pasa a la L2 y luego a la L3. Solo si el dato no se encuentra en ninguna de estas capas, la GPU realiza una petición a la memoria de video, que es el proceso más lento de toda la cadena.

¿Qué son la caché L1 y L2 en una GPU?

La L1 es una memoria de alta velocidad ubicada dentro de los procesadores de flujo que sirve para el almacenamiento temporal de hilos individuales. La L2 es una memoria intermedia compartida por todos los núcleos de la tarjeta gráfica que sirve para coordinar la coherencia de los datos y filtrar las solicitudes que deben dirigirse a la memoria VRAM.