Cómo funciona la memoria caché de la CPU y por qué es importante

Cómo funciona la memoria caché de la CPU y por qué es importante

Rodrigo Alonso

Cuando hablamos de procesadores, casi siempre se suele mencionar el término «memoria caché» de los mismos, y como suele ser habitual, cuanta mayor cantidad tengan suele ser sinónimo de mejor rendimiento. Pero, ¿sabes cómo funciona la memoria caché de los procesadores y por qué es tan importante? Te lo contamos todo a continuación.

En la década de los 80, la velocidad de los procesadores se vio incrementada exponencialmente en comparación con los tiempos de acceso a la memoria. Rápidamente, se hizo evidente que había que hacer algo para mejorar la velocidad con la que se podía acceder a la memoria del PC para que el sistema fuera más eficiente, puesto que por mucho que el procesador fuera muy rápido, si no podía acceder rápidamente a los datos no servía de nada. Estas discrepancias entre la velocidad del procesador y los tiempos de acceso a la memoria fueron las que llevaron a crear la memoria caché.

¿Qué es la memoria caché?

Este componente, que a veces pasa desapercibido en pos de la cantidad de núcleos de los procesadores y su velocidad, fue todo un hito en la historia de la computación. A un nivel básico, la memoria caché es un tipo de memoria muy rápida que contiene un pequeño conjunto de instrucciones que el equipo utiliza con asiduidad para realizar sus tareas cotidianas. El equipo carga esas instrucciones en la caché usando algoritmos complejos para poder acceder a ellos de manera rápida, eficiente y sin más obstáculos de por medio.

puente cpu cache ram

En otras palabras, la caché es un tipo de memoria a la que el procesador tiene acceso directo, casi instantáneo, y en la que se almacenan los datos e instrucciones que más utiliza para «tenerlos a mano» de manera inmediata.

Niveles de caché en un procesador moderno

Especificamos «procesador moderno» porque los primeros procesadores, en los cuales se comenzó a implementar este tipo de memoria, no funcionaban así. Los procesadores modernos tienen varios niveles de caché, diferenciados en L1, L2, L3 e incluso L4 en algunos casos (la L viene de «level», nivel en inglés, por lo tanto hablamos de caché de nivel 1, nivel 2, etc.).

  • La caché L1 es la más rápida pero más pequeña de todas. Contiene los datos que el procesador necesitará para realizar la mayoría de operaciones, los más básicos, aunque tiene un propósito doble: instrucciones y datos. El primero son las operaciones que tiene que realizar el procesador, y  el segundo es la información que se debe procesar. El tamaño de esta caché suele rondar los 256 KB, aunque en algunos modelos de procesador ya llega a 1 MB. Por ejemplo, un Intel Core i9-9900K tiene 512 KB de caché L1.
  • La caché L2 es un poco más lenta (pero todavía muy rápida) y algo más grande que la L1. Normalmente tiene entre 256 KB y 8 MB de capacidad. Por ejemplo, el Core i9-9900K tiene 2 MB de caché L2.
  • La caché L3 es, de nuevo, más lenta pero más grande que la anterior, y tiene unas capacidades típicas de entre 4 y 50 MB. El Core i9-9900K tiene en este caso 16 MB de caché L3, pero se comporta de manera diferente a las anteriores porque es compartida entre todos los núcleos del procesador.

cpu niveles cache

¿Cómo funciona la memoria caché del procesador?

Para ver cómo funciona la memoria caché, debemos saber que los ordenadores tienen tres tipos de memoria: por un lado, está la memoria de almacenamiento, la que encontramos en discos duros y SSD, que suponen el repositorio más grande del equipo. Por otro lado, tenemos la memoria RAM, o memoria de acceso aleatorio, que es mucho más rápida pero más pequeña que la anterior. Finalmente tenemos la memoria caché que está dentro del propio procesador, que es el más rápido de todos pero también el más pequeño.

microchiips

Proporcionalmente hablando, hoy en día es habitual manejar capacidades de varios terabytes cuando hablamos de discos duros, mientras que cuando hablamos de RAM, esta cantidad se reduce a unos pocos gigabytes (hoy en día lo más habitual es ver 16 ó 8 GB de RAM). La caché, por su parte, es todavía mucho más pequeña, y de hecho se mide en megabytes o kilobytes.

La manera en la que funciona este tipo de memoria es que, cuando se inicia un programa, éste comienza a ejecutar una serie de instrucciones que se encuentran en su código y son gestionadas por el procesador. Esa información primero se carga en la RAM y luego pasa al procesador, pero para mejorar la eficiencia con la que éste la procesa, las instrucciones principales y más utilizadas se copian en la caché, de manera que el procesador pueda tener acceso inmediato a ellas. Y esto mejora el rendimiento en gran medida, por supuesto.

La secuencia de uso de la caché

Vamos a ver el comportamiento de los datos a tenor de lo que hemos explicado ya: cuando se ejecuta un programa en el PC, los datos van a la memoria RAM, y desde ésta a la caché L3, luego a la L2 y finalmente a la L1. Mientras el programa esté en ejecución, el procesador irá a buscar la información que necesita procesador primero a la memoria más rápida, la caché L1. Si no la encuentra ahí, se irá a la L2, luego a la L3, y si no está en ninguna, entonces la buscará en la RAM.

Este es el motivo de que la memoria caché sea tan importante, así como lo son los tiempos de acceso. Imaginad que si cada vez que el procesador tiene que ejecutar una instrucción (y ejecuta miles por segundo) tiene que esperar un nanosegundo, que es lo que tarda el tiempo de acceso. La suma de este tiempo, al final, sucumbiría en una enorme pérdida de rendimiento, y volviendo al principio este era precisamente el problema que encontraron en los 80, y motivo por el que se creó la caché.

¿Cómo afecta la memoria caché a los juegos?

Tener un mayor tamaño de caché de nivel 3 compartida repercute directamente en los juegos, otorgando una mayor estabilidad de FPS o imágenes por segundo y un mejor tiempo de respuesta dado que no se tiene que acceder tan frecuentemente a la memoria principal, mucho mas lenta.

Cuanta más información se pueda guardar en esta caché, ya que será más grande, el procesador necesitará acceder menos veces a la memoria RAM y con ello incrementará el rendimiento general en juegos. Hay que tener en cuenta que no es lo único que incrementa el rendimiento de un ordenador ya que si tenemos una CPU lenta por mucha caché que tenga seguirá siendo lenta. La combinación perfecta es una CPU con un alto IPC, una gran caché y memoria RAM a alta frecuencia y baja latencia.