Definición
La memoria cache dentro de la informática es un componente electrónico que se encuentra tanto en el hardware y las del software, el mismo se encarga de almacenar datos recurrentes para que sea de fácil acceso y con mayor rapidez a las solicitudes generadas por el sistema.
La memoria cache se le toma como un búfer especial de la memoria que poseen todas las computadoras, esta desempeña funciones similares como la memoria principal. Uno de los caches más reconocidos son los de los navegadores de internet los cuales mantienen descargas temporales hechas de internet para tener la información disponible para el sistema interno.
Características
- Permite dispone de manera rápida y organizada ciertos datos, lecturas o archivos de uso común, o que se hayan añadido recientemente como descargas del internet.
- Presenta un sistema de orden según la importancia del archivo según sea el requerimiento de cada sistema operativo
- Le permite al procesador mejorar su desempeño y los resultados de las tareas disponiendo la información de la misma como si de una herramienta de uso continuo se tratase.
- Desahoga los procesos internos de las memorias de almacenamiento aleatorio, mejor conocido como RAM.
- A pesar de ser una pieza importante dentro del sistema operativo no ocupa gran espacio dentro del hardware ni de el software.
Para qué sirve la memoria cache
Dentro del sistema de memoria cache existen dos funciones principales:
- La primera es mantener de manera organizada y por relevancia, archivos de manera temporal pero que sea de relevancia para el sistema a la hora de completar tareas exigidas al computador.
- La segunda labor de la memoria cache es desahogar parte de la información almacenada en la memoria principal, para que así no existan fallos a la hora del intercambio de información por la sobresaturación de contenido.
Historia
El origen de la memoria de cache nace cuando los primeros computadores, en lo que a memoria se refiere ya no podían cubrir la necesidad de los procesadores los cuales se encontraban trabajando a mayor velocidad que la de las memorias.
Por lo que los ingenieros en sistema deciden incorporar al mismo una pequeña memoria auxiliar la cual serviría para asistir al microprocesador reduciendo así el tiempo de espera para la recuperación de datos.
El término nace en Inglaterra donde se le da el nombre de “Cache” la cual se traduce como un lugar o escondite oculto para guardar información o contrabando.
Cómo funciona una memoria cache
Lo primero que la memoria cache se encarga de hacer es organizar la información en diferentes niveles, estos van desde el menor hasta el mayor según que tanto se encuentren alejado del procesador. Se organiza en 3 niveles para facilitar el trabajo a los procesadores a la hora de colectar la información.
Cuando el procesador necesita una información, recurre primero al cache, ahí se encarga de buscar por cada nivel hasta encontrar la requerida. En caso de que esta no este, el procesador lo busca en la memoria interna y el cache guarda data de la búsqueda para evaluar si es necesaria incorporarla al cache.
Todos los niveles dentro del cache poseen centros de control en donde se prepara toda la información manejada y a medida que aumenta el nivel (del 3ro al 1ro) es más grande la cantidad de información memoria.
Tipos de memoria cache
Dentro de las memorias cache existen 3 que son las más usadas:
- Memoria de dedica: la cual compone una parte de la memoria RAM, esta por lo general almacena datos que fueron recientemente leídos con el fin de agilizar las cargas dentro de las mismas.
- Cache de pistas: es una memoria de composición solida del tipo RAM, esta se encuentra más que todo en supercomputadoras debido a los altos costos de estas piezas.
- Cache web: este se encarga de guardar documentos de tipo web con el fin de consumir reducir tiempo en los procesos como los de las descargas, la sobresaturación de los servidores y los gastos de la de la banda ancha.
Velocidad
La velocidad dentro de las memorias cache se mide en “ns” que se traduce nanos segundos, la memoria cache maneja tiempos de entre 15 y 35 ns de respuesta al procesador, pero esto aumenta o disminuye según la cantidad de gigabytes y también las marcas de las tarjetas RAM que es en donde se encuentra principalmente el cache en los ordenadores.
Ventajas
- Desahoga todos los procesos de almacenamiento de datos dentro de la memoria de acceso aleatorio.
- Aumenta la velocidad de respuesta del procesador a la hora de ejecutar procesos y dar respuestas.
- En el aérea de internet le permite acceder a los archivos recién vistos o cargados sin consumir datos o cargas extras a la renta de la banda ancha.
Desventajas
Cuando no se encuentra correctamente optimizada, la memoria cache produce problemas en los procesadores entorpeciendo las tareas que debe desarrollar.
La memoria cache en algunos casos falla a la hora de borrar sus archivos temporales, sobrecargándose de información y ralentizando todos los procesos de intercambio de información entre el cache y la memoria principal afectando por completo al computador.
Optimizaciónde la memoria cache
Las memorias de cache deben ser optimizadas con el fin de reducir los fallos en ella conocido como “miss rate”, reducir también la penalización por fallos de la misma y por ultimo reducir el tiempo de acceso a la hora de aciertos en la memoria “hit time”.
Los fallos más comunes por problemas de la tarjeta son:
- Fallos forzosos en donde ocurre el acceso a un bloque de información que no se encuentra en el cache.
- Por poca capacidad en donde la memoria no tiene todo el espacio suficiente para cubrir los bloques necesarios en la ejecución de un programa.
- Por conflicto entre los bloques que se encuentran desorganizado dentro de la memoria.
Las técnicas más usadas para reducir los fallos dentro de la memoria cache son los siguientes:
- Incrementar los tamaños de los bloques con el fin de evitar los fallos forzosos, sin embargo, a la larga puede presentar problemas en los fallos por conflicto.
- Incrementar el método asociativo es otro método muy utilizado, pero acaba aumentando el tiempo de respuesta dentro de la memoria.
- Añadir un cache victima con el fin de almacenar los bloques descartados por fallos de capacidad o conflicto.
- Mejorar el compilador de información para que este mejore el sistema de ordenamiento de datos para que así no existan conflictos entre los diferentes bloques.





