Contacto

¿Cómo trabaja la memoria cachè de nuestra CPU?

La memoria caché es una parte primordial de un ordenador. Es una memoria de alta velocidad que se usa para acelerar los procesos que se ejecutan y reducir el tiempo de acceso a la memoria principal. Podemos verla como una memoria mas pequeña y rápida que almacena copias de datos, los cuales son usados mas frecuentemente por la memoria principal.

Con la memoria caché cada vez que la CPU solicite datos, mandará una petición a la memoria principal, la cual se enviará de vuelta a la CPU mediante el bus de memoria. Esto es un proceso lento. La idea de la caché es que esta memoria extremadamente rápida, guardará los datos a los que se accede de forma mas habitual. Esto se hace para devolver la respuesta lo mas rápido posible a la CPU. Está basado en jugar con los porcentajes. Si un trozo de información ha sido accedido 5 veces anteriormente, es muy probable que esta porción de datos sea requerida de nuevo y por ello se almacena en la cachè.

Cojamos una librería como ejemplo para ver como funciona la caché. Imagínate una librería grande pero solo con un librero (que sería en este caso la CPU). Un primer cliente entra a la librería y pregunta por “el señor de los anillos”. El librero sigue el camino hasta las estanterías (Bus de memoria) coge el libro y se lo entrega al cliente. El libro es devuelto a la librería una vez que lo hayan acabado. Sin caché, el libro volverá a su estantería y cuando otra persona pida el libro, ocurrirá el mismo proceso que llevará la misma cantidad de tiempo.

Si la librería tuviera un sistema de caché, el libro se pondría en un cajón en el escritorio del librero. De esta manera la segunda persona solicitando “el señor de los anillos” solo le supondría al librero alargar la mano a su cajón y coger el libro. Esto le ahorrará mucho tiempo al no tener que recorrer todo el camino hasta las estanterías. En el tema de los ordenadores, la idea es la misma. Los datos mas accedidos se guardan en la caché (cajonera) y se recuperan de una forma mas rápida y eficaz.

Este es un nivel en el sistema de caché normalmente usado en discos duros y otros componentes. CPU’s utilizan sin embargo un segundo nivel de sistema de caché. Los principios son los mismos. El nivel 1 es la memoria mas pequeña y rápida. El nivel 2 es mas grande y un poco mas lento pero todavía mas pequeña y rápida que la memoria principal.

Volviendo a la analogía de la librería, cuando devuelven “El señor de los anillos” se guarda en el cajón. Esta vez el librero está muy ocupado y muchos otros libros son devueltos y el cajón se llena enseguida. “El señor de los anillos” no ha sido pedido por un tiempo por lo que se saca del cajón y se coloca en un estante detrás del librero. Este estante está todavía mas cerca que el resto de libros generales y se puede coger mas rápido. Ahora cuando una persona entre pidiendo “El señor de los anillos”, el librero mirará primero en el cajón y verá que el libro no está ahí. A continuación mirará en el estante encontrando el libro. Esto es lo mismo para las CPU’s. Primero miran el caché de nivel 1 y luego el caché de nivel 2 para encontrar los datos requeridos.

¿Es siempre conveniente tener mucho caché?

La respuesta es casi siempre que si aunque hay excepciones y no siempre es aconsejable. El principal problema es que la CPU siempre chequeará la memoria caché antes que la memoria principal. En el caso del librero, si tiene el cajón y el estante lleno y entra alguien pidiendo un libro que no está ahí, el librero habrá perdido tiempo buscando en estos dos lugares. Si hubiera ido directamente a las estanterías principales hubiera tardado menos.

De todos modos en la mayoría de los casos la conveniencia de tener este tipo de memoria compensa los posible inconvenientes.

¿Almacena la caché solo datos que son frecuentemente accedidos?

Si la memoria caché tiene espacio, almacenará datos cercanos a los que se acceden habitualmente. Volviendo a la analogía del librero, Si la primera persona del día entra en al librería y pide “el señor de los anillos”, el inteligente librero pondrá la segunda parte de este libro en el estante. Con esto, cuando la persona devuelva el libro, hay posibilidades de que el cliente pida la segunda parte. La memoria sigue una lógica parecida y acierta bastante.

Leer mas artículos relacionados