En informática la caché de CPU, es un búfer especial de memoria que poseen las computadoras. Funciona de una manera similar a como lo hace la memoria principal (RAM) pero es de menor tamaño y de acceso más rápido. Es usado por la unidad central de procesamiento para reducir el tiempo de acceso a datos ubicados en la memoria principal que se utilizan con más frecuencia.
Cuando se accede por primera vez a un dato, se hace una copia en la
caché; los accesos siguientes se realizan a dicha copia, haciendo que el
tiempo de acceso medio al dato sea menor. Cuando el procesador necesita
leer o escribir en una ubicación en memoria principal, primero verifica
si una copia de los datos está en la caché. Si es así, el procesador de
inmediato lee o escribe en la memoria caché, que es mucho más rápido
que de la lectura o la escritura a la
memoria principal.


La cache permite acelerar las lecturas y escrituras del procesador
al sistema de memoria. Esto es muy importante ya que el micro tiene que
acceder continuamente a este elemento para llevar a cabo sus funciones.
Se habla de sistema de memoria por que en realidad nos estamos refiriendo a varios elementos. El más lento es el disco duro. En este los datos e instrucciones se almacenan cuando el equipo esta apagado. Al producirse el encendido, pasan a la memoria RAM
de donde son leídos por el procesador. Ten en cuenta que si el micro no
tiene operaciones que ejecutar o le falta algún dato, tendrá que
esperar, perdiendo un valioso tiempo a que estén disponibles.
Por desgracia, la memoria RAM es un dispositivo independiente y se
necesita tiempo para acceder a ella. Esto que puede parecer algo
anecdótico, estamos hablando del orden de nanosegundos, puede provocar
bloqueos muy molestos.
¿Qué es la memoria cache?
La cache es la respuesta al problema de rendimiento del sistema de
memoria. Es muy pequeña y esta incluida en el interior del
microprocesador. Su función es sencilla, conseguir que los accesos se
hagan todo lo rápidos que se pueda.
¿Cómo funciona?
Se organiza en niveles, de menor a mayor tamaño, 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. El sistema se complementa con un controlador que
coloca los datos más utilizados en los niveles más cercanos al
procesador.
Cada uno de estos niveles tiene un bloque de control el cual se
encarga de almacenar y poner los datos a disposición del micro. El
tamaño de este bloque es proporcional al de la propia memoria que
administra. Si este elemento es más complejo lleva a que se produzcan
mayores retardos al acceder a los datos. Como queremos retardos pequeños
los niveles más bajos tendrán menor capacidad. Esto lleva a que cada
nivel superior sea bastante más grande que el anterior.