La importancia de la memoria cache

La importancia de la memoria cache

A la hora de comprar un ordenador, un móvil, una tablet o cualquier dispositivo electrónico constituido por un sistema de memoria y una CPU en pocas ocasiones nos paramos a pensar en la importancia de la memoria caché. A casi todo el mundo le preocupa mucho más cuantos núcleos tiene el procesador o cuanta capacidad tiene la memoria RAM.

sistema_memoria1

Nos tenemos que dar cuenta que todo sistema informático tiene definido su rendimiento por el conjunto de todos sus elementos, es decir, el rendimiento de dispositivo. Por ejemplo, un ordenador que se va a usar como workstation para tareas de programación, puede que dependa mucho del uso de la memoria pero también dependerá de los demás elementos del sistema aunque sea en una menor medida.

Todo esto nos viene dato por la Ley de Amdahl nos dice que: la mejora obtenida en el rendimiento de un sistema debido a la alteración de uno de sus componentes está limitada por la fracción de tiempo que se utiliza dicho componente.

La ley viene definida por la fórmula: formula_ley_Amdhal

Es decir, si por ejemplo en un ordenador para realizar tareas de programación tenemos que depende en un 70% del tiempo de la memoria, en un 10% de la CPU y en un 20% de los elementos de entrada / salida. Si cambiamos la CPU por una el doble de rápido el sistema no irá el doble de rápido, si no el determinado por esa fracción de tiempo.

Hasta ahora tenemos claro que un sistema informático no solo depende de la CPU o no solo depende de la memoria, pero ¿cual es la importancia de cada elemento?

Cada elemento es importante dependiendo del programa que estemos ejecutando, los hay que exigen un gran uso de la CPU y los hay que exigen un gran uso de la memoria. Por lo general, aunque no siempre es así, los programas que necesitan más CPU son los relacionados con los cálculos y los que usan más la memoria son aquellos que acceden continuamente al sistema de memoria.

No todo es la velocidad de la CPU

ley_de_moore

Habitualmente pensamos que cuanta más frecuencia tenga nuestra CPU mejor funcionará o más rápido irá nuestro dispositivo, pero no es para nada así. Hasta hace pocos años se venia cumpliendo la Ley de Moore. La ley de Moore expresa que aproximadamente cada dos años se duplica el número de transistores en un circuito integrado. Esto es en números que nuestro dispositivo al tener una CPU con el doble de transistores debería funcionar el doble de rápido, y teóricamente el doble de potencia. Si nos fijamos esta tendencia se ha ido cumpliendo hasta 2003 cuando se empezó a generalizar los procesador con varios núcleos.

Pero... tenemos un problema si nos fijamos en el siguiente gráfico:

evolucion_velocidad_cpu_ram

La velocidad de la memoria RAM y de la CPU no han evolucionado de la misma forma. La CPU ha evolucionado en términos de frecuencia y la memoria principal en términos de densidad, de MBytes por pulgada. Existe una fórmula que determina la influencia de la memoria RAM en la velocidad de la CPU:

frecuencia_efectiva_cpu

Actualmente los ingenieros ya no buscan la forma de aumentar la frecuencia de la CPU si no la forma de añadir más núcleos a una CPU, añadirle unidades funcionales replicadas y así mejorar el rendimiento general del procesador.

En el siguiente artículo indagaremos en el sistema de memoria y demostraremos mediante relaciones matemáticas la necesidad de la memoria cache.

Para ti
Queremos saber tu opinión. ¡Comenta!