Cómo funciona el almacenamiento en caché

Si has estado comprando una computadora, entonces habrás escuchado la palabra «caché». Las computadoras modernas tienen cachés L1 y L2, y muchas ahora también tienen caché L3. Es posible que también hayas recibido consejos sobre el tema de amigos bien intencionados, tal vez algo como «No compres ese chip Celeron, no tiene caché». Resulta que el almacenamiento en caché es un proceso informático importante que aparece en todas las computadoras en una variedad de formas.

Hay cachés de memoria, cachés de disco de hardware y software, cachés de páginas y más. La memoria virtual es incluso una forma de almacenamiento en caché. En este artículo, exploraremos el almacenamiento en caché para que puedas comprender por qué es tan importante.

Cachés de computadora

Una computadora es una máquina en la que medimos el tiempo en incrementos muy pequeños. Cuando el microprocesador accede a la memoria principal (RAM), lo hace en unos 60 nanosegundos (60 milmillonésimas de segundo). Es bastante rápido, pero mucho más lento que el microprocesador típico. Los microprocesadores pueden tener tiempos de ciclo tan cortos como 2 nanosegundos, por lo que para un microprocesador 60 nanosegundos parecen una eternidad.

Niveles de caché

¿Qué pasa si construimos un banco de memoria especial en la placa base, pequeño pero muy rápido (alrededor de 30 nanosegundos)? Esto ya es dos veces más rápido que el acceso a la memoria principal. Esto se llama caché de nivel 2 o caché L2. ¿Qué pasaría si construyéramos un sistema de memoria aún más pequeño, pero más rápido directamente en el chip del microprocesador? De esa forma, se accederá a esta memoria a la velocidad del microprocesador y no a la velocidad del bus de memoria.

Se trata de una caché L1, que en un Pentium de 233 megahercios (MHz) es 3,5 veces más rápida que la caché L2, que es dos veces más rápida que el acceso a la memoria principal. Algunos microprocesadores tienen dos niveles de caché integrados en el chip. En este caso, la caché de la placa base (la caché que existe entre el microprocesador y la memoria principal del sistema) pasa a ser de nivel 3 o caché L3.

Hay muchos subsistemas en una computadora; puedes poner caché entre muchos de ellos para mejorar el rendimiento. He aquí un ejemplo. Tenemos el microprocesador (lo más rápido que hay en la computadora). Luego está el caché L1 que almacena el caché L2 que almacena en caché la memoria principal que se puede usar (y se usa a menudo) como caché para periféricos aún más lentos como discos duros y CD-ROM. Los discos duros también se utilizan para almacenar en caché un medio aún más lento: su conexión a Internet.

Subsistemas de almacenamiento en caché

Tu conexión a Internet es el enlace más lento de tu computadora. Entonces tu navegador (Internet Explorer, Netscape, Opera, etc.) usa el disco duro para almacenar páginas HTML, colocándolas en una carpeta especial en tu disco. La primera vez que solicitas una página HTML, tu navegador la muestra y también se almacena una copia en tu disco.

La próxima vez que solicites acceso a esta página, tu navegador comprobará si la fecha del archivo en Internet es más reciente que la almacenada en caché. Si la fecha es la misma, tu navegador utilizará la que tienes en tu disco duro en lugar de descargarla de Internet. En este caso, el sistema de memoria más pequeño, pero más rápido es tu disco duro y el más grande y más lento es Internet.

La caché también se puede crear directamente en los periféricos. Los discos duros modernos vienen con una memoria rápida, alrededor de 512 kilobytes, conectada al disco duro. La computadora no usa directamente esta memoria, sino el controlador del disco duro. Para la computadora, estos chips de memoria son el disco mismo.

Cuando la computadora solicita datos del disco duro, el controlador del disco duro verifica esta memoria antes de mover las partes mecánicas del disco duro (lo cual es muy lento en comparación con la memoria). Si encuentra los datos que la computadora solicitó en el caché, devolverá los datos almacenados en el caché sin acceder realmente a los datos en el disco, lo que ahorra mucho tiempo.

los datos almacenados en el caché
los datos almacenados en el caché

Experimento de almacenamiento caché

Aquí tienes un experimento que puedes probar. Tu computadora almacena en caché tu unidad de disquete con la memoria principal y tú puedes ver cómo sucede. Accede a un archivo grande desde tu disquete; por ejemplo, abre un archivo de texto de 300 kilobytes en un editor de texto. La primera vez, verás que se enciende la luz del disquete y esperarás. El disquete es extremadamente lento, por lo que tardará 20 segundos en cargar el archivo. Ahora, cierra el editor y abre el mismo archivo nuevamente.

La segunda vez (no esperes 30 minutos ni accedas mucho al disco entre los dos intentos) no verás que se enciende la luz y no esperarás. El sistema operativo buscó en su memoria caché el disquete y encontró lo que estaba buscando. Entonces, en lugar de esperar 20 segundos, los datos se encontraron en un subsistema de memoria mucho más rápido que cuando lo intentaste por primera vez (un acceso al disquete tarda 120 milisegundos, mientras que un acceso a la memoria principal tarda alrededor de 60 nanosegundos; eso es mucho más rápido). Podrías haber realizado la misma prueba en tu disco duro, pero es más evidente en la unidad de disquete porque es muy lenta.

Lista de un sistema de almacenamiento en caché

Para darle una idea general de todo, aquí hay una lista de un sistema de almacenamiento en caché normal:

  • Caché L1: accesos a la memoria a la velocidad máxima del microprocesador (10 nanosegundos, de 4 kilobytes a 16 kilobytes de tamaño)
  • Caché L2: acceso a memoria de tipo SRAM (alrededor de 20 a 30 nanosegundos, de 128 kilobytes a 512 kilobytes de tamaño)
  • Memoria principal: acceso a la memoria de tipo RAM (alrededor de 60 nanosegundos, de 32 megabytes a 128 megabytes de tamaño)
  • Disco duro: mecánico, lento (alrededor de 12 milisegundos, de 1 gigabyte a 10 gigabytes de tamaño)
  • Internet: increíblemente lento (entre 1 segundo y 3 días, tamaño ilimitado)

Como puedes ver, el caché L1 almacena en caché el caché L2, que almacena en caché la memoria principal, que se puede usar para almacenar en caché los subsistemas de disco, etc.

Tecnología de caché

Una pregunta común que se hace en este punto es: «¿Por qué no hacer que toda la memoria de la computadora funcione a la misma velocidad que el caché L1, de modo que no sea necesario el almacenamiento en caché?» Eso funcionaría, pero sería increíblemente caro. La idea detrás del almacenamiento en caché es utilizar una pequeña cantidad de memoria costosa para acelerar una gran cantidad de memoria más lenta y menos costosa.

Al diseñar una computadora, el objetivo es permitir que el microprocesador funcione a su máxima velocidad del modo más económico posible. Un chip de 500 MHz realiza 500 millones de ciclos en un segundo (un ciclo cada dos nanosegundos). Sin las cachés L1 y L2, el acceso a la memoria principal tarda 60 nanosegundos, o unos 30 ciclos desperdiciados en el acceso a la memoria.

Cuando lo piensas, resulta increíble que cantidades de memoria tan relativamente pequeñas puedan maximizar el uso de cantidades de memoria mucho mayores. Piensa en una caché L2 de 256 kilobytes que almacena en caché 64 megabytes de RAM. En este caso, 256,000 bytes almacenan en caché de manera eficiente 64,000,000 bytes. ¿Por qué funciona eso?

En informática tenemos un concepto teórico llamado localidad de referencia. Esto significa que, en un programa bastante grande, sólo se utilizan porciones pequeñas a la vez. Por extraño que parezca, la localidad de referencia funciona para la gran mayoría de programas. Incluso si el ejecutable tiene un tamaño de 10 megabytes, sólo se utilizan unos pocos bytes de ese programa a la vez y su tasa de repetición es muy alta.

Preguntas frecuentes

¿Para qué se utiliza el almacenamiento en caché?

El almacenamiento en caché se utiliza para mejorar el rendimiento de un sistema almacenando datos en una ubicación temporal para que puedan recuperarse más rápido.

¿Qué es el almacenamiento en caché en la memoria?

El almacenamiento en caché de memoria es un proceso mediante el cual los datos se almacenan en la memoria de una computadora para que se pueda acceder a ellos más rápidamente. Cuando los datos se almacenan en caché en la memoria, se almacenan en una ubicación de reserva para que se pueda acceder a ellos más rápidamente que si estuvieran almacenados en un disco u otro dispositivo de almacenamiento más lento.

No te vayas sin leer: Causas y soluciones para que el módem xfinity parpadee en verde

¿Qué es el almacenamiento en caché y cómo funciona?

El almacenamiento en caché es una técnica que se utiliza para almacenar datos en una ubicación temporal para que se pueda acceder a ellos de manera rápida y eficiente. Cuando los datos se almacenan en caché, se almacenan en una ubicación a la que se puede acceder fácilmente y no requiere mucho tiempo ni esfuerzo para recuperarlos.

Deja un comentario