sábado, 26 de octubre de 2019

MEMORIA CACHÉ

MEMORIA CACHÉ
¿Qué significa caché?
Literalmente, se trata de una palabra en francés que quiere decir “escondido” u “oculto”. Pero tiene un uso en la informática que le ha dado nombre a un tipo particular de memoria.
La memoria caché de un procesador, es un tipo de memoria volátil (como la memoria RAM), pero muy rápida. Su función es almacenar instrucciones y datos a los que el procesador debe acceder continuamente. ¿Cuál es su finalidad? Pues que este tipo de datos sean de acceso instantáneo para el procesador, ya que se trata de información relevante y que debe estar a la mano de manera muy fluida. Los sistemas de hardware y software llamados caché, almacenan este tipo de datos de manera duplicada y por esta razón su acceso es tan veloz(1).
En resumen, se trata de aquella cantidad de datos que permanece de manera temporal en un sistema, lo que ayuda a que el rescate de datos se haga de manera más eficiente y veloz. En palabras simples, la memoria caché está diseñada para hacer más organizado el almacenamiento de datos en un sistema, entiéndase computador, celular o cualquier otro dispositivo que contenga un procesador(2).
El Caché de disco, trabaja a base de los mismos principios de la memoria caché, pero en vez de utilizar SRAM basada en semiconductores de alta rapidez, se utiliza la memoria principal de los datos más recientes del disco duro, pero cuando el programa necesita entrar a los datos del disco, lo primero que prueban es el cache de disco para ver si los datos se encuentran en el cache del disco(3).
Actualmente podemos diferenciar la memoria caché en L1, L2 y L3, nomenclaturas con las que se identifican los distintos niveles en los que se encuadran. También se utiliza, aunque con poca frecuencia, un tipo de memoria caché conocida como L4, sobre todo en procesadores que vienen con GPUs integradas.
Sobre todo esto vamos a profundizar en las siguientes líneas, así que poneos cómodos, que hay muchas cosas interesantes que leer. Como siempre os invitamos a que nos dejéis cualquier duda en los comentarios.
Pues bien, la memoria caché es un tipo de memoria específica que está preparada para servir de apoyo al procesador, y que es capaz de trabajar a velocidades muy elevadas. Esta memoria se divide en diferentes niveles como dijimos, pero su función base es la misma: apoyar a la CPU para mejorar su rendimiento.
Para ello actúa como un sistema de almacenamiento de instrucciones y de datos capaz de comunicarse con el procesador a gran velocidad. Normalmente en la memoria caché se almacenan datos e instrucciones que el procesador va a necesitar para completar diferentes tareas a corto plazo. Con ello se evitan dos cosas muy importantes que podrían reducir el rendimiento:
  • Que el procesador tenga que volver a completar ciclos de trabajo para conseguir los datos o instrucciones que necesita.
  • Que tenga que acceder a la memoria RAM (más lenta que la caché) para obtener dichos datos o instrucciones.

La velocidad de la memoria caché importa, y mucho, pero también la capacidad de la misma, aunque sobre este tema hablaremos en el siguiente punto. Es importante recordar que en las generaciones más antiguas de procesadores la memoria caché L2 y L3 estuvo integrada durante mucho tiempo en la placa base, y no en el encapsulado del procesador. Esto suponía que la información tenía que recorrer una distancia importante en cada acceso lo que acababa teniendo un impacto considerable en el rendimiento.
Actualmente todos los tipos de memoria caché se encuentran integrados en el encapsulado del procesador, con la única excepción de la L4 que, por cuestiones de tamaño y de espacio, suele ir en un encapsulado propio ubicado justo a continuación del encapsulado principal. Esto tiene consecuencias importantes, como veremos a continuación.

Memoria caché: tipos y jerarquía


La diferenciación entre memoria caché L1, L2 y L3 obedece a un orden de jerarquía establecido por cercanía al procesador, velocidad y capacidad. Utilizaremos dos ejemplos extremos para que veáis las grandes diferencias que pueden haber en términos de cantidad en función de cada CPU, aunque la función de la memoria caché será la misma en todos los casos.

  1. Caché L1: es el nivel más básico, la más cercana al procesador y la más rápida. También es la que menos capacidad tiene, por ejemplo un procesador de dos núcleos como el Pentium G4560 tiene 64 KB en total (32 KB por núcleo), aunque los modelos más potentes (serie Xeon y Epyc) pueden alcanzar los 3 MB sin problema.
  2. Caché L2: es un nivel intermedio que presenta un buen equilibrio entre capacidad, cercanía y velocidad. Siguiendo el ejemplo anterior el Pentium G4560 tiene 512 KB (256 KB por núcleo) de caché L2, pero un Threadripper 2990WX llega a los 16 MB en total (512 KB por núcleo).
  3. Caché L3: posiciona en un nivel inferior a la anterior tanto en cercanía como en velocidad, pero tiene una capacidad mucho mayor. El Penitum G4560 tiene 3 MB de caché L3 compartida en sus dos núcleos, mientras que el Threadripper 2990WX viene con un total de 64 MB (16 MB compartidos por cada bloque de ocho núcleos).
  4. Caché L4: es un tipo de memoria caché poco habitual que se utiliza normalmente como apoyo para mejorar el rendimiento de GPUs integradas. Por ejemplo, el Core i5 5775C venía con 6 MB de caché L3 y 128 MB de eDRAM como caché L4, que se utilizaba como buffer para la gráfica Intel Iris Pro 6200 que integraba. Así se mejoraba el ancho de banda y se reducía el impacto de tener que recurrir a la RAM como memoria gráfica.
¿Es bueno borrar la memoria caché regularmente?
El hecho de buscar en todo momento un funcionamiento más rápido y óptimo de nuestros dispositivos, a menudo nos hace borrar la memoria caché regularmente, algo que en principio puede tener sus ventajas pero también queremos destacar algunas desventajas que deberéis tener en cuenta a la hora de tomar la decisión de si mantenéis o no la regularidad con la que borráis esta memoria.
Las ventajas y desventajas de borrar la memoria caché regularmente

En este sentido es importante tener en cuenta que deberemos permitir que esta información se almacene en la memoria caché, y aunque es bueno realizar una limpieza cada cierto tiempo, básicamente podríamos verlo como un disco duro; evidentemente no formateamos nuestro disco duro todos los días, pero es posible que cada cierto tiempo queramos hacer una limpieza completa, y de igual manera actuaremos con la memoria caché, es decir, procederemos a borrarla cada cierto tiempo pero sin abusar de ello, permitiendo de esta manera que cumpla con su función, a la vez que, con las limpiezas periódicas, también lograremos deshacernos de toda la información innecesaria con lo que mejoraremos a su vez también la fluidez(4).

Rerencias bibliograficas:
  1. ¿Qué es la Memoria Caché, y Para Qué Sirve? | LG Chile [Internet]. LG Chile. 2019 [cited 27 October 2019]. Available from: https://www.lgblog.cl/lgtv/tecnologia-tendencias/cache/
  2. ¿Qué es Caché? » Su Definición y Significado [2019] [Internet]. Concepto de - Definición de. 2019 [cited 27 October 2019]. Available from: https://conceptodefinicion.de/cache/
  3. Qué es la memoria caché L1, L2 y L3 y cómo funciona [Internet]. Profesional Review. 2019 [cited 27 October 2019]. Available from: https://www.profesionalreview.com/2019/05/02/memoria-cache-l1-l2-y-l3/
  4. Explicación: ¿Es bueno borrar la memoria caché regularmente? [Internet]. Locurainformaticadigital.com. 2019 [cited 27 October 2019]. Available from: https://www.locurainformaticadigital.com/2018/04/16/borrar-memoria-cache-regularmente/

No hay comentarios:

Publicar un comentario