¿Qué es el caché?

click fraud protection

¿Qué es el caché y por qué lo tienen las CPU, GPU y otros tipos de procesadores? Aquí encontrará todo lo que necesita saber.

enlaces rápidos

  • Caché: una pequeña cantidad de memoria de alta velocidad
  • Niveles de caché y jerarquía de memoria.
  • El caché es necesario pero no mejora el rendimiento por sí solo

Aunque no se habla tanto de caché como de núcleos, RAM (Memoria de acceso aleatorio), o VRAM, probablemente hayas oído hablar de ello antes, especialmente recientemente. AMD anuncia con orgullo el rendimiento de los juegos para su CPU Ryzen con 3D V-Cache como resultado del uso de caché, y una de las mayores mejoras de Intel con sus CPU Raptor Lake de 13.ª generación fue agregar más caché.

Pero, ¿cómo puede la caché mejorar el rendimiento cuando se mide en términos de megabytes? Incluso los kits de RAM más baratos vienen con 16 GB hoy en día, entonces, ¿cómo puede la adición de unos pocos megabytes adicionales de caché marcar una diferencia tan grande en el rendimiento? Bueno, el caché no es tu tipo normal de memoria.

Caché: una pequeña cantidad de memoria de alta velocidad

Fuente: AMD

En realidad, el caché es un desarrollo bastante reciente en los procesadores, que se remonta a la década de 1990, y se inventó gracias a la RAM. La RAM es un componente clave en las computadoras que almacena una cantidad significativa de datos que se espera que los procesadores (como las CPU y las GPU) necesiten con bastante frecuencia. Durante mucho tiempo, las mejoras en el rendimiento de la RAM siguieron el ritmo de las mejoras en el rendimiento de la CPU, pero en la década de 1990, se estaba volviendo Es obvio que la RAM no podría seguir el ritmo de las últimas CPU. La RAM tenía mucha capacidad, pero las velocidades de transferencia eran demasiado lento.

Aquí es donde entra en juego el caché. No es tan grande como la RAM ni físicamente ni por capacidad, pero está dentro del propio procesador y puede transferir datos muy rápidamente y con una latencia muy baja. Siempre que la caché almacene los datos que el procesador realmente necesita, puede ahorrar tiempo porque solicitar a la RAM los mismos datos es muchas veces más lento. Fue una gran solución al problema de la RAM y permitió a los diseñadores de CPU continuar fabricando CPU más rápidas y Los diseñadores de RAM seguirán creando mayores capacidades de RAM sin tener que preocuparse tanto por actuación. Hoy en día, el caché se encuentra en prácticamente todos los tipos de procesadores.

Quizás te preguntes por qué el caché es tan pequeño. Bueno, principalmente tiene que ver con espacio y dinero. Incluso 32 MB de caché pueden ocupar bastante espacio en un procesador, y los chips modernos están limitados a aproximadamente 600 mm2 de área total, lo que debe usarse con prudencia. Eso significa que dedicar más área al caché puede resultar bastante costoso y esa situación en realidad está empeorando, no mejorando. Los últimos procesos de fabricación están dando como resultado mejoras cada vez menores en la densidad de la caché, y TSMC no logró reducir el tamaño de la caché en la primera iteración de su proceso de 3 nm.

Niveles de caché y jerarquía de memoria.

Fuente: Carlos Carvalho

La invención del caché significó que había una nueva capa para todos los dispositivos de almacenamiento de datos en una computadora. Estas capas forman lo que se llama jerarquía de memoria, que puedes ver en la imagen de arriba, y que detalla qué memoria va a dónde en un sistema típico dentro de una CPU (aunque otros tipos de procesadores se verán muy similar). Hoy en día, la jerarquía de memoria moderna no sólo incluye caché, RAM y dispositivos de almacenamiento permanente, sino también una jerarquía de memoria dentro del propio caché.

La mayoría de los procesadores tienen diferentes niveles de caché para diversos fines. El primer y más pequeño nivel de caché es L1, al que se le asignan núcleos individuales para procesar los datos que se necesitan de inmediato. La caché L1 a menudo se mide en kilobytes, y las últimas CPU Ryzen 7000 tienen 64 KB de caché L1 por núcleo. Además, la caché L1 moderna a menudo se divide en L1I (para instrucciones) y L1D (para datos).

El siguiente es L2, que es para un grupo de núcleos en lugar de núcleos individuales. Naturalmente, la caché L2 es más grande que la caché L1, a menudo en un orden de magnitud, pero ser mucho más grande y tener que dar servicio a más núcleos significa que es más lenta y tiene una latencia más alta. Algunos procesadores, particularmente las GPU y las CPU más lentas, solo alcanzarán la caché L2.

El siguiente paso es L3, que generalmente utilizan todos los núcleos del chip. Su tamaño puede variar desde unas pocas veces mayor que el caché L2 hasta más de un orden de magnitud mayor, dependiendo del procesador. Esto significa que es incluso más lento que el caché L2 pero aún supera a la RAM. Además, la caché L3 también suele actuar como una "caché de víctimas", que es donde van los datos desalojados de las cachés L1 y L2. Es posible que se lo expulse aún más de la caché L3 si no es necesario. Hoy en día, la caché L3 es especialmente importante para AMD debido a su tecnología de chiplets. Los chips Ryzen 3D V-Cache contienen 64 MB de caché L3 y los módulos de memoria caché RX 7000 (o MCD) contienen 16 MB de caché L3 cada uno.

El nivel más alto de caché que se ve en la mayoría de los procesadores es L4, que a menudo es tan grande que en realidad es RAM. De hecho, las últimas CPU que utilizan caché L4 son los chips Sapphire Rapids Xeon de Intel, que utilizan HBM2 como caché L4 en los modelos de gama alta. AMD, por otro lado, nunca ha usado un caché L4 y en cambio se contenta con ampliar su caché L3 a altas capacidades agregando más chips de CPU y V-Cache. Una caché L4 normalmente beneficia más a las GPU integradas, ya que es una solución integrada que puede compartir datos entre la CPU y la GPU integrada.

En algunos conjuntos de chips, principalmente en los móviles, existe otro tipo de caché: el caché a nivel del sistema (SLC). Luego, esta caché se utiliza en todo el conjunto de chips, como la GPU, la NPU y la CPU. Un caché puede reemplazar la necesidad de solicitudes a la memoria principal, por lo que un SLC beneficia a todo el SoC.

El caché es necesario pero no mejora el rendimiento por sí solo

A pesar de todo el revuelo que rodea a las recientes innovaciones en caché, no es una solución milagrosa para el rendimiento. Después de todo, no hay capacidad de procesamiento en la memoria caché; simplemente almacena datos y eso es todo. Aunque cada procesador puede beneficiarse absolutamente de tener más caché, a menudo resulta demasiado costoso agregar más de la cantidad exacta necesaria. Es posible que agregar más caché ni siquiera mejore el rendimiento dependiendo de la carga de trabajo, lo que es un incentivo adicional para no gastar mucho en un procesador.

Dicho esto, poder agregar una gran cantidad de caché puede ser deseable en determinadas situaciones. Las CPU con mucho caché tienden a funcionar mejor en juegos, por ejemplo. Las CPU Ryzen de AMD con 3D V-Cache son bastante rápidas para jugar a pesar de tener una frecuencia más baja que los chips sin V-Cache, y Las CPU de 13.ª generación de Intel son significativamente más rápidas que los chips de 12.ª generación, y la única mejora importante es una mayor cache.

En última instancia, el caché existe para que los procesadores puedan omitir la RAM con la mayor frecuencia posible y el rendimiento sea lo más ilimitado posible. Los diseñadores de CPU tienen que equilibrar la capacidad de la caché con el tamaño y, por extensión, el coste, lo que se vuelve más difícil con cada generación de nuevos procesos de fabricación. Aunque décadas después de su invención se están introduciendo nuevas formas de agregar caché a los procesadores, es difícil imaginar que el propósito de este componente clave de los procesadores cambie alguna vez.