Memoria caché

¿Qué es la memoria cache?

La cache es la solución al problema de rendimiento del sistema de memoria. Es muy pequeña y está incluida en el interior del micro. Su función es sencilla, conseguir que los datos más usados estén lo más cerca del procesador para ser accedidos de la manera más rápida posible.

¿Cómo funciona la memoria cache?

Se organiza en niveles, de menor a mayor tamaño según lo alejada que esté del micro. Si el procesador necesita un dato de la memoria se comprueba si este se encuentra en el primer nivel. En caso de no encontrarlo, se busca en el segundo nivel y si no en el tercero. Todo se acelera si se colocan los datos más utilizados en los niveles más cercanos al procesador.

El tiempo que tarda en buscar la información es proporcional al tamaño de la propia memoria que administra.

La memoria cache es muy pequeña. En comparación con la memoria RAM unas mil veces más pequeña. Por suerte, los programas suelen realizar muchas operaciones sobre los mismos datos y por lo tanto se consiguen grandes mejoras al usar esta técnica.

La caché es una memoria que se sitúa entre la unidad central de procesamiento (CPU) y la memoria de acceso aleatorio (RAM) para acelerar el intercambio de datos.

Tipos de caché

A los tipos de memoria cache se le puede considerar desde dos puntos de vista: Tanto de Hardware, como del punto de vista Funcional.

Dentro del punto de vista del Hardware tenemos: la Cache interna y externa.

Caché interna

También denominada cache principal, caché de nivel 1 o caché L1

Es una innovación relativamente reciente; en realidad son dos, cada una con una misión específica: Una para datos y otra para instrucciones. Están incluidas en el procesador junto con su circuitería de control, lo que significa tres cosas: comparativamente es muy cara; extremadamente rápida, y limitada en tamaño (en cada una de las cachés internas, los 386 tenían 8 KB; el 486 DX4 16 KB, y los primeros Pentium 8 KB). Con una velocidad de acceso comparable a la de los registros, es decir, es mucho más rápida que la RAM.

Caché Externa

También conocido cache secundaria, cache de nivel 2 o cache L2.

Es más antigua que la interna. Es una memoria de acceso rápido incluida en la placa base, que dispone de su propio bus y controlador independiente que intercepta las llamadas a memoria antes que sean enviadas a la RAM por medio de los Buses locales.

La caché externa típica es un banco SRAM de entre 128 y 256 KB. Esta memoria es considerablemente más rápida que la DRAM convencional, aunque también mucho más cara.

Caché de disco

Es la caché de disco, esta destinada a contener los datos de disco que probablemente sean necesitados en un futuro próximo y los que deben ser escritos. Si la información requerida está en chaché, se ahorra un acceso a disco, lo que es centenares de veces más rápido.

Su funcionamiento se basa en dos esquemas de operación:

La lectura adelantada. Consiste en anticipar lo que se necesitará de forma inmediata y traerlo a la caché.

La escritura retrasada. Consiste en mantener los datos en caché hasta que se producen momentos de desocupación del sistema de disco. En este caso la caché actúa como memoria tampón intermedio, y no se obliga al subsistema a realizar físicamente ninguna escritura, con lo que las cabezas quedan libres para nuevas lecturas.

Puesto que los cachés de disco de escritura retrasada mantienen los datos en memoria volátil después que "supuestamente" se han escrito en el dispositivo, una caída accidental del sistema, por fallo de energía o apagado intempestivo, puede producir pérdidas de los datos alojados en la caché en ese momento.