Está en la página 1de 6

Módulo de

Sistemas Operativos

Memoria Cache
Cuando hablamos de procesadores, casi siempre se suele mencionar el término
«memoria caché» de los mismos, y como suele ser habitual, cuanta mayor cantidad
tengan suele ser sinónimo de mejor rendimiento. Pero ¿sabes cómo funciona la
memoria caché de los procesadores y por qué es tan importante? Te lo contamos todo
a continuación.

En la década de los 80, la velocidad de los procesadores se vio incrementada


exponencialmente en comparación con los tiempos de acceso a la memoria.
Rápidamente, se hizo evidente que había que hacer algo para mejorar la velocidad con
la que se podía acceder a la memoria del PC para que el sistema fuera más eficiente,
puesto que por mucho que el procesador fuera muy rápido, si no podía acceder
rápidamente a los datos no servía de nada. Estas discrepancias entre la velocidad del
procesador y los tiempos de acceso a la memoria fueron las que llevaron a crear
la memoria caché.

¿Qué es la memoria caché?

Este componente, que a veces pasa desapercibido en pos de la cantidad de núcleos de


los procesadores y su velocidad, fue todo un hito en la historia de la computación. A un
nivel básico, la memoria caché es un tipo de memoria muy rápida que contiene un
pequeño conjunto de instrucciones que el equipo utiliza con frecuencia para realizar
sus tareas cotidianas. El equipo carga esas instrucciones en la caché usando algoritmos
complejos
para poder
acceder a ellos
de manera
rápida,
eficiente y sin
más
obstáculos de
por medio.

Alejandro Barranco - Módulo de SO - Memoria Cache II - Página 1 de 6


Módulo de
Sistemas Operativos
En otras palabras, la caché es un tipo de memoria a la que el procesador tiene acceso
directo, casi instantáneo, y en la que se almacenan los datos e instrucciones que más
utiliza para «tenerlos a mano» de manera inmediata.

Niveles de caché en un procesador moderno

Especificamos «procesador moderno» porque los primeros procesadores, en los cuales


se comenzó a implementar este tipo de memoria, no funcionaban así. Los procesadores
modernos tienen
varios niveles de
caché, diferenciados
en L1, L2, L3 e incluso
L4 en algunos casos (la
L viene de «level»,
nivel en inglés, por lo
tanto hablamos de
caché de nivel 1, nivel
2, etc.).

La primera de ellas es la conocida como caché L1 y al ser la más cercana a las unidades
de ejecución es la más rápida pero también la más pequeña de todas. Se suele dividir a
día de hoy en dos bloques distintos, en uno de ellos se almacenan los datos a tratar y el
otro las instrucciones, siendo estas últimas las acciones que ha de realizar el
procesador. Es decir, por un lado, son las operaciones que tiene que realizar el
procesador, y por el otro la información que este debe procesar. La caché L1 se
encuentra a nivel de cada núcleo y no del procesador entero y ninguna de las cachés L1
es coherente con el resto, lo cual no es algo que sea un problema por el hecho que solo
su núcleo tendrá acceso a la misma.

El siguiente nivel es el de la caché L2, la cual es un poco más lenta, pero todavía muy
rápida y con mayor capacidad que la caché L1. Se ha de tener en cuenta que cada nivel
adicional contiene todos los datos de las cachés de nivel anterior. Históricamente la
caché L2 sirve para comunicar varios núcleos y darles coherencia a la memoria y

Alejandro Barranco - Módulo de SO - Memoria Cache II - Página 2 de 6


Módulo de
Sistemas Operativos
acceso, por lo que es una caché
compartida. Esto es debido a que
solo hay interfaz de memoria y este
se ha de unificar a través de la caché.

Algunas arquitecturas de CPU


pueden tener más niveles de caché,
por ejemplo, se suelen agrupar los
núcleos en clústeres con una L2 en
común para luego tener una L3
general. También puede ser que un
núcleo tenga varios niveles de caché
local o que una CPU tenga varios
niveles de caché compartida, por lo
que no es algo fijo.

¿Cómo funciona la memoria caché del procesador?

La memoria caché no funciona igual que la memoria RAM, no podemos hacer que la CPU
se dirija a una dirección concreta dentro de la caché. Esto es debido a que lo que hace la
caché es copiar los datos que se encuentran en la RAM y son cercanos a la dirección de
memoria que está ejecutando en ese momento la CPU, por lo que la caché copia en su
interior las direcciones de memoria más cercanas a la memoria caché.
Proporcionalmente hablando, hoy en día es habitual manejar capacidades de varios
terabytes cuando hablamos de discos duros, mientras que cuando hablamos de RAM,
esta cantidad se reduce a unos pocos gigabytes
(hoy en día lo más habitual es ver 16 ó 8 GB de RAM).
La caché, por su parte, es todavía mucho más
pequeña, y de hecho se mide en megabytes o
kilobytes.

Hemos de saber que los computadores tienen tres


tipos de memoria: por un lado, está la memoria
de almacenamiento, la que encontramos en discos
duros y SSD, que suponen el repositorio más
grande del equipo. Por otro lado, tenemos
la memoria RAM, o memoria de acceso aleatorio,

Alejandro Barranco - Módulo de SO - Memoria Cache II - Página 3 de 6


Módulo de
Sistemas Operativos
que es mucho más rápida pero más pequeña que la anterior. Finalmente tenemos la
memoria caché que está dentro del propio procesador, que es el más rápido de
todos, pero también el más pequeño.

La manera en la que funciona este tipo de memoria es que, cuando se inicia un


programa, este comienza a ejecutar una serie de instrucciones que se encuentran en su
código y son gestionadas por el procesador. Esa información primero se carga en la
RAM y luego pasa al procesador, pero para mejorar la eficiencia con la que esté la
procesa, las instrucciones principales y más utilizadas se copian en la caché, de manera
que el procesador pueda tener acceso inmediato a ellas. Y esto mejora el
rendimiento en gran medida, por supuesto.

La secuencia de uso de la caché

Vamos a ver el comportamiento de los datos a tenor de lo que hemos explicado ya:
cuando se ejecuta un programa en el PC, los datos van a la memoria RAM, y desde ésta
a la caché L3, luego a la L2 y finalmente a la L1. Mientras el programa esté en ejecución,
el procesador irá a buscar la información que necesita procesador primero a la memoria
más rápida, la caché L1. Si no la encuentra ahí, se irá a la L2, luego a la L3, y si no está en
ninguna, entonces la buscará en la RAM y en último caso a los dispositivos de
almacenamiento secundario.

Alejandro Barranco - Módulo de SO - Memoria Cache II - Página 4 de 6


Módulo de
Sistemas Operativos
Este es el motivo de que la memoria caché sea tan importante, así como lo son los
tiempos de acceso. Imaginad
que si cada vez que el
procesador tiene que ejecutar
una instrucción (y ejecuta
miles por segundo) tiene que
esperar un nanosegundo, que
es lo que tarda el tiempo de
acceso. La suma de este
tiempo, al final, sucumbiría en
una enorme pérdida de
rendimiento, y volviendo al
principio este era
precisamente el problema
que encontraron en los 80, y motivo por el que se creó la caché.

¿Cómo afecta la memoria caché a los juegos?

En algunos procesadores el tener un mayor tamaño de caché de nivel 3 compartida


repercute directamente en los juegos, otorgando una mayor estabilidad de FPS o
imágenes por segundo y un mejor tiempo de respuesta dado que no se tiene que
acceder tan frecuentemente a la memoria principal, mucho más lenta.

Cuanta más información se pueda guardar en esta caché, ya que será más grande, el
procesador necesitará acceder menos veces a la memoria RAM y con ello incrementará
el rendimiento general en juegos. Hay que tener en cuenta que no es lo único que
incrementa el rendimiento de un ordenador, ya que si tenemos una CPU lenta por
mucha caché que tenga seguirá siendo lenta. La combinación perfecta es una CPU con
un alto IPC, una gran caché y memoria RAM a alta frecuencia y baja latencia.

Alejandro Barranco - Módulo de SO - Memoria Cache II - Página 5 de 6


Módulo de
Sistemas Operativos
¿Cuál es el propósito de una caché?
El propósito principal de la caché es reducir el tiempo de acceso a datos importantes.
Entre los datos considerados importantes están los siguientes:

1. Datos que se utilizan con frecuencia: en el caso de estos, sería una pérdida de
tiempo tener que cargarlos siempre de la memoria más lenta. En lugar de eso, se
entregan desde la caché, lo que va más rápido.
2. Datos complejos de generar: algunos datos son el resultado de un procesamiento
computacional intensivo o se deben combinar a partir de distintas fuentes. En
estos casos, es conveniente almacenar los datos listos en la caché para su futuro
uso.
3. Datos que se deben utilizar juntos: en este caso, no sería eficiente cargar los
datos solo cuando se soliciten. En cambio, tiene sentido mantener los datos
juntos en la caché.

Alejandro Barranco - Módulo de SO - Memoria Cache II - Página 6 de 6

También podría gustarte