Siguiendo con nuestro artículo anterior, nos podríamos hacer una pregunta relacionada con cómo se utiliza el sistema de caché basándonos en su funcionamiento. ¿Por qué no hacer que todas las memorias de los ordenadores funcionen a la misma velocidad que el caché L1? Esto podría funcionar pero podría ser increíblemente caro. La idea detrás del caché es usar una pequeña cantidad de memoria (por lo general cara) para acelerar un montón de memoria más lenta de menos coste.
Cuando se diseña un ordenador, la meta es permitir al microprocesador que funciona a su máxima velocidad de la forma más barata posible.
Un chip de 500 megahercios pasa a través de quinientos millones de ciclos en un segundo (un ciclo cada dos nanosegundos). Sin los cachés L1 y L2, un acceso a la memoria principal lleva 60 nanosegundos, o dicho de otra manera, treinta ciclos malgastados accediendo a la memoria.
Cuando piensas en ello, es de cierta forma increíble que tales cantidades de pequeña memoria pueda maximizar el uso de cantidades de memoria mucho más grandes. En la ciencia de la computación, se tiene un concepto teórico llamado localización de referencia. Esto significa que un programa grande, solo pequeñas porciones son usados en un momento dado.
Aunque pueda sonar extraño, la localización de referencia funciona para la gran mayoría de los programas. Incluso para un ejecutable de diez megabytes de tamaño, solo un puñado de bytes de ese programa es usado en un instante determinado, y su tasa de repetición es muy alta.
Para hacernos una idea de cómo funciona esto, pensemos en un simple programa con 10 líneas de código, donde las líneas 7 y 8 son puestas en bucle y ejecutadas 100 veces. Todas las demás líneas solo son ejecutadas una vez, pero la operación en las líneas 7 y 8 irá más rápido por la función de caching.
Digamos que el programa es grande, con muchas líneas de código. Los resultados son los mismos. Cuando se programa, muchas de las acciones tienen lugar en los bucles. Un procesador de texto pasa un noventa por ciento de su tiempo esperando por tus órdenes y mostrándolo en la pantalla.
Esta parte del programa de texto está en caché. Este 90 por ciento (aproximadamente) es lo que llamamos localización de referencia, y es porque el caché funciona de forma tan eficiente. Esto es también el porque un caché pequeño puede potenciar un sistema de memoria más grande.
Con esto podemos ver el porque no merece la pena construir un ordenador con una memoria rápida en todos sus puntos. Podemos dar un 90 por ciento de efectividad con solo una fracción de coste.
Si quieres volver a leer el artículo desde el principio, haz clic aquí:
¿Cómo funciona la caché informática?