QUE ES LA MEMORIA CACHE EN PROCESADORES O CPU

¿Qué es la memoria caché de los procesadores?


Dentro de nuestro procesador no solo se encuentran los componentes que hacen posible sus enormes capacidades de computación, también hay una pequeña memoria que se encarga de conseguir que el trabajo de nuestro procesador pueda realizarse a la velocidad que este opera.

Nuestro sistema cuenta con una memoria que se encarga de almacenar todos los programas que están en ejecución en ese momento, la memoria RAM. Esta memoria no opera a la misma frecuencia que lo hace nuestro procesador, por ejemplo, una Corsair Vengeance LPX de 3200 MHz en doble canal, por lo que la frecuencia es 1600 MHz, y un procesador Intel Core i7 8700K que opera a 3,7 GHz.

Esta diferencia se ha ido salvando con el tiempo, ya que antes teníamos procesadores que operaban a 3,2 GHz y memorias que lo hacían a 1600 MHz en doble canal, 800 MHz, poco a poco nos hemos ido acercando a frecuencias similares que facilitan el acceso del procesador a la RAM sin quedar ocioso.

amd memoria cache

El no quedar ocioso es el motivo por el que existe la memoria caché en nuestras CPU. Es la memoria más rápida del sistema y se utiliza para acelerar el acceso a memoria de nuestro procesador.

En esta memoria se almacenan los datos e instrucciones más utilizados por el sistema para evitar perder tiempo y tener que acceder a ellos en la RAM.

Memoria caché: la memoria más cara y pequeña del sistema

Esta memoria no es única, sino que encontramos tres tipos diferentes de memoria caché en un mismo procesador L1, L2 y L3. Cada uno de estas memorias tiene diferentes tamaños y velocidades, pero siempre son más rápidos que la memoria RAM.

Memoria caché L1

Es el módulo de memoria más caro, opera a la misma frecuencia que el procesador, y el más pequeño. Se utiliza una memoria L1 para datos y otra para instrucciones, aunque siempre se hace referencia a esta como una sola.

Esta memoria caché se encuentra dentro de cada uno de los núcleos del procesador, por lo que tendremos tantos módulos L1 como núcleos tenga la CPU. En el Intel Core i7 8700K tenemos una memoria caché L1 de 64KB por núcleo(32KB de datos y 32KB de instrucciones).

Memoria caché L2

Esta memoria no es tan cara como la memoria L1, pero sigue teniendo un elevado precio. No opera a la misma frecuencia que el procesador, pero si a una muy cercana. Esta memoria podemos encontrarla de dos formas: compartida por todos los núcleos o junto en cada núcleo del procesador. Por ejemplo, en el Intel Core i7 8700K hay una memoria caché L2 de 256KB por núcleo.

Memoria caché L3

La memoria más barata de los tres tipos L de la caché. Esta última caché es también cara pero, debido a que no opera a tan alta frecuencia como la L1 y L2, su precio se reduce. Esta memoria es la que tiene mayor tamaño y la que comparten todos los núcleos del procesador. En el Intel Core i7 8700K su memoria caché L3 es de 12MB.

microarquitectura coffe lake memoria cache

Lo más curioso de las tres memorias caché es que, si en la L1 encontramos los datos e instrucciones más utilizados, en la memoria caché L2 encontramos una copia de estos datos más otros también muy usados y en la memoria caché L3 encontramos una copia de la L2 más otros datos más usados.

Esta repetición hace que el procesador no tenga problema al acceder a la información que quiera y en el menor tiempo posible, consiguiendo acelerar mucho el funcionamiento de nuestro sistema.

 La caché CPU es una memoria interna del procesador que va inserta en él. A diferencia de la memoria RAM, SSDs o HDDs, no puede ser sustituida, cambiada ni ampliada, es un recurso del propio procesador o CPU que está implantado físicamente en el mismo PCB. Como ya se aprecia en su nombre, es un tipo de memoria caché, extremadamente rápida y de muy poca capacidad que es usada por el procesador y todos sus núcleos para obtener información frecuentemente utilizada de una manera mucho más eficaz y rápida que si se obtuviese desde otro tipo de almacenamiento como la RAM o SSDs.

La caché de la CPU se suele dividir en 4 niveles de implementación; L1, L2, L3 y L4. Cuanto inferior sea el nivel, más rápida y menor capacidad tendrá. Cada uno de estos niveles está destinado a almacenar un tipo de información según su frecuencia de utilización y su importancia. Por ejemplo, la caché L1 de procesadores típicos del 2020 (como el Intel Core i7-10700K) es de tan solo 64 KB por núcleo y tiene una velocidad típica de más de 1100 GBps y latencias de menos de 1 ns. Al llegar a la caché L3 de este mismo procesador encontramos un tamaño de 16 MB (compartida por todos los núcleos) y una velocidad de unos 200 GBps con latencias de más de 10 ns. La caché CPU L2 quedaría entre medias de estas dos.

De esta manera, la caché CPU queda dividida en niveles y la información que almacenan cada uno de ellos dependerá de la importancia que tengan y de la frecuencia con la que se solicite. El procesador contiene una rutina que evalúa las últimas instrucciones realizadas y extrapola, según la información obtenida en instrucciones anteriores, para almacenar datos en la caché que serán potencialmente utilizados por la CPU.

¿Para qué sirve la caché CPU?

La caché CPU sirve para agilizar el proceso de búsqueda de datos que solicita el procesador. Cuando la CPU realiza una instrucción y solicita ciertos datos, estos deben ser buscados en primer lugar en la RAM, si no lo están entonces en el almacenamiento (SSD o HDD), y tras su uso se cargarán a la RAM. Si esos mismos datos son requeridos por instrucciones posteriores, comenzarán a almacenarse en la caché CPU, además de en la RAM, ya que serán de acceso frecuente y la caché es bastante más rápida que la mejor de las RAM del mercado. Entonces los datos e instrucciones más frecuentes se almacenan en los distintos niveles de la caché CPU, proporcionando así un almacenaje muy limitado pero extraordinariamente rápido.

La utilidad de la caché CPU es básicamente esa, guardar datos de acceso frecuente para que no tengan que ser buscados en otros sistemas de almacenamiento más lentos. Luego, dependiendo del nivel en el que se haya guardado (L1, L2, L3 o L4) se utilizarán en unos ámbitos u otros, pero siempre serán usados por el procesador. Es más, los niveles superiores de la caché CPU pueden contener copias de niveles inferiores. Puede parecer contraproducente ya que se guardan los mismos datos en varias capas y se pierde almacenamiento. Esto es algo que depende de la estructura interna del procesador y de su fabricación (por Intel o AMD), ya que los niveles más altos de la caché CPU suelen estar compartidos entre todos los núcleos y así se puede centralizar de alguna manera el acceso a la información por parte de los distintos núcleos.

Si estás interesado en saber qué es la caché de una manera más generalizada, sin recurrir a la caché CPU, puedes echar un ojo a esta otra definición. Aunque también has de saber que existen otros tipos de caché como la caché web o caché del sistema.

Comentarios

Entradas más populares de este blog

TIPOS DE TECLADOS