¿Has oído hablar alguna vez de la memoria caché L1, L2 y L3? Seguramente sí, pero si no están seguro de lo que realmente significan estos niveles de caché, en este artículo vamos a tratar de explicarte todo lo mejor posible. A partir de ahora entenderás mejor las características de memoria de un procesador.
Ya sabrás que uno de los componentes más importantes de un ordenador es su memoria, hablamos por supuesto de la memoria RAM, aquella en donde todos los programas y sistema operativo se carga para que sean utilizados por el procesador ni necesidad de tener que acceder al disco duro.
La memoria RAM es mucho más rápida que un disco duro, sobre todo que los discos mecánicos. Pero aún existe una memoria más rápida en nuestro ordenador, concretamente dentro de nuestro procesador, y esta es lamemoria caché, que es al que veremos hoy.
Índice de contenidos
Qué es la memoria caché de una CPU
Lo primero que tendremos que saber es en qué consiste la memoria caché en general. Como ya hemos dicho, dentro de un PC hay varios tipos de memoria y precisamente la memoria caché será la más rápida de todas.
Los niveles de almacenamiento
Para comenzar, en el primer escalón tendremos el almacenamiento primario, el cual sin duda son los discos duros. En ellos se almacena toda la información de forma permanente, a partir de ella el sistema operativo hace un PC funcional. Es la memoria más lenta, desde unos 150 MB/s en un HDD (disco duro mecánico) hasta los impresionantes 3.500 MB/s de los SSD (unidad en estado sólido) más rápidos del mercado.
En segundo lugar, tendremos la memoria de acceso aleatorio o memoria RAM. Es una memoria en estado sólido más pequeña, que no es capaz de almacenar datos de forma permanente y que hace de pasarela entre el disco duro y el procesador. Ofrece una velocidad mayor a los 30.000 MB/s en las DDR4. La memoria también se denomina DRAM (Dynamic RAM) porque necesita actualizarse constantemente para no perder la información.
El tercer nivel, el más rápido
Y por fin llegamos a la que se encuentra en la cima, la memoria caché. Se trata de una memoria muy pequeñita que está instalada dentro de propio microprocesador y de tipo SRAM (Static RAM). Es mucho más cara de fabricar que la memoria RAM normal, y puede contener datos sin necesidad de actualizarse constantemente.
El hecho de estar instalada dentro de la CPU la hace ser la más cercana a los núcleos de procesamiento, y es por ello que debe ser endemoniadamente rápida. De hecho, alcanza velocidades de más de 200 GB/s y latencias de unos 10 o 11 ns (nanosegundos). La memoria caché se encarga de almacenar las instrucciones que inminentemente van a ser procesadas por la CPU, para que este pueda acceder a ellas de la forma más rápida posible.
A su vez, la memoria caché se divide en varios niveles, cada uno de ellos más rápidos, más pequeños y más cercanos al procesador. Actualmente los procesadores cuentan con un total de tres niveles de memoria caché en su interior. Antes de entrar en esto, vamos a ver de forma rápida cómo funciona una memoria caché.
Cómo funciona la memoria caché
Quizás no lo sepas, pero prácticamente todos los periféricos y elementos de un ordenador cuentan con su propia memoria caché, por ejemplo, los propios discos duros, la impresora, y por supuesto las GPU de las tarjetas gráficas. Y la función de todas ellas, incluida la de una CPU será la misma.
Como sabemos, un ordenador es “inteligente” gracias al sistema operativo y a sus programas. Cada uno de estos programas está creado a partir de un lenguaje de programación, que a su vez son un conjunto de instrucciones que deben ser ejecutadas de forma ordenada en la CPU. Decimos de forma ordenada porque es en este punto en donde cobra sentido el establecer distintos niveles de almacenamiento.
Los datos se encuentran almacenados de forma fija en los discos duros, pero como son tan lentos y están “tan lejos” de la CPU, éstos se cargan antes en la memoria RAM, un almacenamiento mucho más rápido y solo utilizado para los programas que están en funcionamiento.
El controlador de memoria entra en juego
Pero aún no es suficiente, debido a que las CPU de la actualidad son tan rápidas y capaces de ejecutar millones de operaciones en cada segundo en cada núcleo, entra la memoria caché. Dentro de la CPU existe un controlador de memoria, que básicamente se trata de lo que antes se llamaba puente norte o north bridge y que era un chip instalado en la placa base. Pues este controlador de memoria ahora está dentro de la CPU y se encarga de tomar de la memoria RAM las instrucciones que van a ser ejecutadas, y también de devolver los resultados del ciclo de procesamiento.
Pero es que además existen dos tipos de buses que se encargan de comunicar la CPU con la memoria RAM, se llaman bus de datos y bus de direcciones:
- Bus de datos: son básicamente las pistas por donde circulan los datos e instrucciones. Existirá un bus de datos que comunica la memoria RAM, caché y núcleos entre sí.
- Bus de direcciones: es un canal independiente por donde la CPU pide la dirección de memoria en donde se encuentra el dato. Les instrucciones se guardan en celdas de memoria, las cuales tienen una dirección, y tanto la memoria RAM, caché y CPU deben conocerla para ubicar el dato en cuestión.
La memoria caché L1, L2 y L3
A estas alturas, ya entendemos de forma bastante aproximada cómo funciona el almacenamiento en un PC, y cómo funciona la caché. Pero debemos saber que existe una memoria caché L1, L2 y L3 dentro de la CPU, parece mentira que dentro de algo tan pequeño quepan tantas cosas ¿verdad? Pues estos tres niveles de memoria caché atienden a una jerarquía de velocidad y por supuesto, de capacidad.
Memoria caché L1
La caché L1 es la configuración más rápida, la que se encuentra más cerca de los núcleos. Ésta almacena los datos que inmediatamente van a ser usados por la CPU, y es por ello que las velocidades están en torno a los 1150 GB/s y la latencia en tan solo 0,9 ns.
El tamaño de esta memoria caché está en torno a los 256 KB en total, aunque según la potencia de la CPU (y coste) será menor o mayor, de hecho, los procesadores de Workstation como el Intel Core i9-7980 XE cuentan con unos 1152 KB en total.
Esta caché L1 se divide en dos tipos, la caché L1 de datos y la caché L1 de instrucciones, la primera se encarga de almacenar los datos que se procesarán y la segunda almacena la información sobre la operación a realizar (suma, resta, multiplicación, etc).
Además, cada núcleo cuenta con sus propias memorias caché L1, así que, si tenemos un procesador de 6 núcleos, tendremos 6 caché L1 divididas en L1 D y L1 I. En los procesadores Intel cada una de ellas son de 32 KB, y en los procesadores AMD también son de 32 KB o 64 KB en la L1 I. Por supuesto variarán según la calidad y potencia, como siempre.
Memoria caché L2
La siguiente que encontramos será la caché L2 o de nivel 2. Esta tiene mayor capacidad de almacenamiento, aunque será un poco más lenta, de unos 470 GB/s y 2,8 ns de latencia. El tamaño de almacenamiento suele variar entre los 256 KB y los 18 MB. Ya vemos que son capacidades considerables para las velocidades que manejamos.
En ella se almacenan las instrucciones y datos que pronto serán utilizadas por la CPU y en este caso no está dividida en Instrucciones y datos. Pero sí que tenemos una caché L2 por cada núcleo, al menos es así en los procesadores más relevantes. Por cada núcleo, suele haber 256, 512 o hasta 1024 KB.
Memoria caché L3
Finalmente nos encontraremos con la caché L3, la cual tiene un espacio dedicado para ella en el chip del procesador. Será la de mayor tamaño y también la más lenta, hablamos de más de 200 GB/s y 11 ns de latencia.
En la actualidad un procesador que se precie va a tener al menos 4 MB de caché L3, y puede verse unidades de hasta 64 MB. La L3 se reparte normalmente en unos 2 MB por cada núcleo, pero digamos que no está dentro de cada núcleo, así que hay un bus de datos para comunicarse con ellos. De este bus y del propio de la memoria RAM depende en gran medida la solvencia y velocidad de una CPU, y es donde Intel saca su poderío frente a AMD.
Cómo conocer la memoria caché L1, L2 y L3 de mi procesador
Pues una de las formas más rápidas de conocer esta información es descargar la herramienta CPU-Z, la cual es completamente gratuita y te proporcionará una información muy completa sobre tu CPU. Incluso los tres niveles y la cantidad de almacenamiento de cada una. Podrás descargarla desde su página web oficial.
También podrías colocar la marca y modelo en el navegador y dirigirte a la página del fabricante, aunque normalmente solo proporcionan información acerca de la caché L3. Por supuesto, en todas nuestra review de procesadores damos información completa sobre la cache de cada CPU y realizamos benchmarks de su rendimiento.
Latencia, ancho de bus y la falta de caché
Hemos entendido que los datos fluyen desde el disco duro hasta el núcleo de procesamiento a través de todos los niveles de memoria. Donde primero busca el procesador la siguiente instrucción a procesar, es en la memoria caché, un sistema de calidad debería se saber ubicar correctamente los datos en función de su importancia para así reducir al máximo los tiempos de acceso a ellos, lo que se llama latencia.
La latencia es entonces, el tiempo que se tarda en acceder a los datos desde la memoria. Mientras más lejos y más lenta, mayor latencia y más tiempo tendrá que esperar la CPU su siguiente instrucción. Así cuando una instrucción no está situada en la memoria caché, el procesador debe buscarla directamente en la memoria RAM, a esto se le denomina falta de caché o caché miss, es entonces cuando se experimenta un PC más lento.
El ancho de bus también es de gran importancia para la velocidad, ya que éste marca la capacidad para transferir mayores bloques de datos desde la memoria a la CPU. Tanto CPU como memoria RAM son de 64 bits, pero la función de Dual Channel es capaz de doble esta capacidad a 128 bits para que la transferencia entre estos elementos tenga mayor capacidad.
Conclusión acerca de la memoria cache L1, L2 y L3
Siempre nos fijamos mucho en la cantidad de núcleos y la velocidad de un procesador, está claro que determina en gran medida la velocidad total de éste. Pero un elemento que a veces no suele ser tenido en cuenta es la memoria caché, y es fundamental a la hora de tener un procesador potente.
Tener una CPU de 6 núcleos con 4 o 16 MB de cache L3 por ejemplo, va a ser muy significativo a la hora de medir su rendimiento, sobre todo cuando tenemos múltiples programas abiertos. Así que, a partir de ahora, fijaos bien en este apartado cuando decidáis comprar un procesador, porque no todo depende de la frecuencia.
Tenemos más tutoriales interesante sobre este tema, así que aquí los dejamos:
También te recomendamos nuestras guías actualizadas de hardware:
Esperamos que toda esta información te haya sido de utilidad para saber más acerca de los procesadores y la memoria caché. Si tienes dudas puedes preguntarnos en la caja de comentarios. ¡Nos vemos en el siguiente tutorial!