Procesadores

Memoria caché en mi CPU ¿Cuánta debo tener como mínimo?

Siempre se habla mucho de la memoria caché de la CPU, pero no todos saben qué es realmente y si es necesario contar con una capacidad mínima para que el sistema vaya fluido o para cumplir los requisitos para gaming, etc. Por eso, en este artículo vamos a aprender más sobre este tipo de memoria tan misteriosa y por qué resulta tan importante cuando se trata del rendimiento.

Quizás también te puede interesar conocer:

¿A qué se refiere la palabra caché?

Caché, o buffer, como se conoce en algunos casos, no es más que una memoria intermedia que sirve para acelerar el acceso a información, generalmente situada entre dos unidades. Estas memorias son de alta velocidad, aunque de capacidad reducida dado su alto precio.

Cuando se trata de la memoria caché de la CPU, se trata de una memoria temporal que se coloca cerca de los núcleos de procesamiento para albergar datos e instrucciones para que la CPU los tenga más a mano, bajando la penalización en ciclos de reloj para su acceso, frente a tener que acceder a esa información en la memoria RAM o memoria principal.

Esta memoria suele ser de tipo SRAM, y es más veloz aún que la memoria RAM, accediendo a ella en muy pocos nanosegundos. De ahí que permita aumentar el rendimiento de forma considerable, ya que de no existir, la CPU debería ir a acceder a la información de datos e instrucciones de los procesos a ejecutar a la memoria RAM, lo que significa esperar más ciclos de reloj (mayor latencia).

Caché vs RAM

Como deberías saber, un programa o software no es más que un conjunto de datos e instrucciones. Las instrucciones son operaciones que se aplican sobre los datos. Por ejemplo, si la CPU necesita realizar la operación 2 + 3, la ALU tomaría los operandos o datos, que en este caso sería 2 y 3, y la unidad de control enviaría las señales para que la ALU se ponga en modo suma cuando reciba la instrucción ADD en este caso.

Pues bien, para que la CPU pueda acceder a esa información, antes de la existencia de la memoria caché de la CPU, había que hacerlo en la memoria RAM, y dado que ésta memoria es más lenta que la CPU, se formaban cuellos de botella importantes. Por eso se creó la memoria caché, para actuar como una memoria intermedia para acelerar los accesos con menos penalización de ciclos de reloj, ya que la latencia es mucho más baja.

¿Sabías que antiguamente no se implementaba la memoria caché dentro de la propia CPU? Se comenzó a usar unos módulos similares a la RAM actual y que eran opcionales. Luego se implementaron on-package, u off-chip, para finalmente hacerse dentro del propio chip de procesamiento (on-chip).

De hecho, la caché suele ser hasta 100 veces más rápida que una memoria RAM estándar. Puedes pensar que si es tan rápida, por qué no se aumenta su capacidad y se prescinde de la RAM, pues bien, el motivo es simple. Esta memoria es muy cara de fabricar, por lo que conseguir chips con capacidades elevadas resultaría prohibitivo para la mayoría de usuarios.

Otros usos del término “caché”

El término buffer o caché es un término ampliamente usado en la informática, no solo para la memoria caché de la CPU. También se usa para denominar a otros almacenes temporales de datos, ya sean implementados en hardware o en software. Por eso, también deberías conocer cuáles son estos otros usos del término para no confundirlos. Por ejemplo:

  • Memoria caché o buffer para una unidad HDD, que es una memoria flash en la que almacenar datos para acelerar las lecturas y escrituras en la memoria magnética, que es más lenta.
  • Memoria caché de un programa, como el navegador web, donde se almacenan cookies, información introducida por el usuario, el historial, archivos temporales, etc.
  • Las unidades ópticas, lectores de tarjetas de memoria, etc., también tienen buffers o memorias caché para acelerar los accesos, al igual que los sistemas operativos tienen archivos en caché para acelerar ciertas funciones que el usuario realiza frecuentemente, etc.
  • Y, por supuesto, no solo una CPU o microprocesador tiene memoria caché, también las GPUs y otras unidades de procesamiento cuentan con ella. Los datos necesarios para renderizar gráficos y demás que necesita la GPU también pueden almacenarse en una memoria caché para que la GPU acceda rápidamente a ellos, sin esperar a tener que acceder a la VRAM. En este caso, el funcionamiento sería el mismo que con una CPU.

La caché de una GPU también puede afectar al rendimiento gráfico y la tasa de FPS cuando se juega.

Es decir, siempre se refiere a una memoria donde se almacenan datos de forma temporal y que van a ser accedidos más de una vez, acelerando así el acceso. Por ejemplo, cuando borras la memoria caché de tu navegador, seguro que verás cómo al abrir ciertas páginas webs frecuentes se tarda un poco más.

Cómo afecta la memoria caché al rendimiento

Si te preguntas cómo hace que la memoria caché haga que el procesamiento sea más rápido, como bien sabes ya, esta memoria tiene latencia muy baja, por lo que se necesitan muy pocos ciclos de reloj para acceder a ella. Así es como gana rendimiento en vez de acceder a otras memorias más lentas, desperdiciando ciclos de reloj valiosos que finalmente tendrán un impacto en el rendimiento.

Cuando la CPU requiere de un dato o instrucción para ejecutarlo, primero buscará en la memoria caché. Si está allí se produce un acierto o hit, por lo que puede acceder a él de forma muy rápida. En cambio, cuando no se encuentra el dato en la caché se produce un fallo o miss, que obliga a la CPU a buscarlo en una ruta más larga, es decir, con más latencia. Y eso implicaría acceder a niveles superiores, a la memoria RAM e incluso al disco duro en el peor de los casos.

¿Cuánta memoria caché de CPU necesito?

Esta es una pregunta difícil de responder. Sinceramente no hay un dato concreto. De hecho, algunas microarquitecturas pueden usar menos memoria caché que otras y tener un rendimiento superior. Por tanto, no depende solo de la capacidad, también del tipo de memoria caché, etc. Así que no puedo decir una cantidad específica, pero sí que es cierto que dentro de una misma microarquitectura, mientras más espacio de caché tenga, mejor.

Por eso las unidades de AMD con 3D V-Cache, que amplían considerablemente la memoria caché, consiguen acelerar el rendimiento de forma considerable en videojuegos y otras aplicaciones.

¿Qué pasa si mi caché está llena?

Bueno, cuando nos referimos a la memoria caché de hardware, como la memoria caché de la CPU, tú no tienes que vaciar ésta de forma manual. Será el propio sistema el que vaya eliminando algunos datos e instrucciones para dejar hueco a otros que sean prioritarios. De ese modo se mantendrá un rendimiento constante durante los procesamientos. Por tanto, te puedes despreocupar completamente.

No obstante, en el caso de la caché de software, sí que puedes eliminar o hacer limpieza para ahorrar espacio, a pesar de que eso podría implicar que algunas apps reduzcan su rendimiento. Además, como sabes, existen apps que sirven para hacer estas limpiezas de una forma más cómoda, como CCleaner, Stacer, etc.

Niveles de caché explicados

Memoria caché L1 de datos e instrucciones (flechas azules) y L2 (flechas amarillas) de un AMD K7

Tampoco me gustaría terminar este artículo sin hablar de los posibles niveles de memoria caché de CPU o GPU que puede haber, ya que también son importantes para comprender lo que significan cuando analizamos las especificaciones técnicas cunado vamos a comprar un procesador:

Caché L1 o de Nivel 1

Esta memoria caché L1 es la más rápida de todas. Se trata de una pequeña memoria que está muy próxima a las unidades control y ejecución, y la penalización en ciclos de reloj para acceder a ella es mínima. Además, en muchas arquitecturas actuales se encuentre separada, una L1 para datos y otra L1 para instrucciones.

Caché L2 o Nivel 2

Esta memoria caché de nivel 2 es superior en capacidad a la L1, sin embargo, suele penalizar más en cuanto a ciclos de reloj para acceder a ella. No obstante, sigue siendo muy rápida, aunque no tanto como la L1. Por eso, la CPU buscará primero en la L1 y si se produce un hit obtendrá lo que busca rápidamente, y si se produce un miss tendrá que buscar en este nivel. Hay que decir que esta memoria suele estar unificada, por lo que puede almacenar tanto datos como instrucciones.

Caché L3 o Nivel 3

En caso de producirse un miss también en la L2, la CPU buscará en el siguiente nivel, el L3. Esta memoria también está unificada, con datos e instrucciones, y es de mayor capacidad que la L2. Sin embargo, como puedes imaginar, es algo más lenta a la hora de acceder a ella que la L2.

Es decir, la velocidad de acceso será L1 > L2 > L3… Por tanto, la CPU comenzará a buscar en la L1 y solo si se produce un miss irá a la L2 y en caso de que en esta también se produzca un miss irá a buscar a la L3, y si hubiese un miss tendría que ir a la memoria RAM, y así. Lo siguiente a la RAM, sino se encuentra allí tampoco, sería la memoria virtual, es decir, acceder a esa parte del disco duro que se emplea también como una extensión de la RAM.

Como ves, los distintos niveles de memoria van desde el más rápido y pequeño en capacidad, hasta el más lento y amplio en capacidad. Todo es cuestión de costes para implementar cada nivel…

También me gustaría destacar que la L3 suele ser el último nivel (LLC o Last Level Cache), aunque hay sistemas que pueden tener incluso L4, o niveles inferiores a la L1, como la L0. No obstante, esto es más raro…

Por otro lado, la forma en la que se almacenan o desechan los datos e instrucciones de estas memorias caché se realiza mediante algoritmos para dar prioridad siempre a la información que tiene mayor probabilidad de ser accedida en un futuro o de los procesos con mayor prioridad.

Qué tener en mente a la hora de comprar una CPU

La mayoría de usuarios no compran una CPU o GPU pensando en la capacidad de memoria caché que estas unidades tienen. Y hacen bien, ya que como dije anteriormente, son más significativas las ganancias de rendimiento que se obtienen al mejorar la generación de una microarquitectura que las de aumentar la memoria caché. Sin embargo, si te preocupa especialmente el tema de la memoria caché de CPU, entonces deberías tener en cuenta los siguientes parámetros:

  • Tamaño: es cierto que una memoria caché de mayor capacidad puede almacenar más datos e instrucciones, por lo que las posibilidades de acierto o hit son superiores, evitando así que el procesador tenga que perder más ciclos para acceder a un nivel superior. Sin embargo, afectan otros muchos factores al rendimiento de la unidad de procesamiento.
  • Latencia: esto sí que es importante, aunque no todos los fabricantes de procesadores suelen dar este dato. Pero siempre que la latencia de acceso a la memoria caché sea inferior, se conseguirá mayor rendimiento. Por tanto, es mejor que la latencia sea la más baja posible. No obstante, nuevamente aquí también influyen otros muchos factores, como la capacidad, el tipo de memoria caché, etc.

Conclusión

En definitiva, cuando cambies de CPU o GPU, no pienses solo en la cantidad de memoria caché que tiene, ya que podría llevarte a error. Dos productos diferentes con iguales capacidades podrían tener rendimientos muy dispares, lo mismo con un producto con capacidad de memoria caché superior a otro, que tal vez pueda rendir menos. Es decir, no es un dato fiable. Ahora bien, en el caso de unidades como los HDD y el buffer o caché de estos, sí que es más importante…

Recent Posts

  • Android

WhatsApp empieza a desplegar la transcripción de audios

Hace semanas se confirmaba y ahora comienza su despliegue: la transcripción de audios se hace…

3 horas atrás
  • Tarjetas gráficas

RTX 5070 Ti: Revelan posibles especificaciones con unos 8960 núcleos CUDA.

Estas es una de las primeras informaciones que tenemos sobre el modelo RTX 5070 Ti…

3 horas atrás
  • Noticias

Google habría cancelado también la Pixel Tablet 2

Ayer mismo saltaba la noticia de la posible cancelación de la Pixel Tablet 3, la…

4 horas atrás