En la década de 1980, las velocidades de los microprocesadores aumentaron 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 y hacer que todo el sistema fuera más eficiente. Esas discrepancias entre la velocidad de procesamiento y la velocidad de la memoria llevaron al desarrollo del caché.
¿Qué es el caché?
La invención del caché fue uno de los eventos más críticos en la historia de la informática. Pero, ¿qué es exactamente el caché? ¿Como funciona?
En su nivel básico, un caché es un tipo de memoria rápida. Contiene una pequeña cantidad de memoria que contiene instrucciones que la computadora probablemente necesitará a continuación cuando lleve a cabo una tarea en particular. La computadora carga esa información en el caché utilizando algoritmos complejos y conocimiento del código de programación. El propósito de tener un sistema de caché en la computadora es asegurarse de que la CPU tenga acceso sin obstáculos a los datos que necesita en el orden en que los necesita.
Para ver cómo funciona esto, necesita saber que las computadoras tienen tres tipos de memoria. Primero está la memoria principal que se encuentra en el disco duro o SSD. Es el depósito de memoria más grande de la máquina. Luego está la memoria RAM o memoria de acceso aleatorio, que es más rápida, pero más pequeña, que el dispositivo de memoria principal. Por último, hay unidades de memoria dentro de la propia CPU, conocidas como caché. El caché es el más rápido de todos los tipos de memoria.
Cuando se inicia un programa, ese programa comienza a ejecutar una serie de instrucciones que se encuentran en el código del programa. Esa información primero se carga en la RAM y luego pasa a la CPU. Para utilizar mejor los datos para llevar a cabo las instrucciones, la CPU necesita una memoria de alta velocidad. Ahí es donde entra el caché.
Niveles de caché
Dentro de la CPU, hay tres niveles diferentes de caché: L1, L2 y L3. Algunas empresas incluso están trabajando en un caché L4.
La caché L1 es la más rápida y pequeña de las tres. Contiene los datos que es más probable que la CPU necesite para realizar las operaciones. El L1 generalmente tiene alrededor de 256 KB, aunque algunos lo han aumentado hasta 1 MB.
Este pequeño caché tiene un doble propósito, ya que tiene un caché de instrucciones y un caché de datos. El caché de instrucciones se ocupa de las operaciones que debe realizar la CPU, y el caché de datos contiene la información sobre la cual se debe realizar el proceso.
A continuación, está el caché L2. El L2 es más lento y contiene más información que el L1. Contiene entre 256 K y 8 MB de datos a los que la computadora probablemente necesitará acceder a continuación.
Por último, vemos el caché L3. Es el caché más grande y lento, almacenando entre 4 MB y 50 MB.
Cómo funciona el caché
Cuando un programa se inicia en su computadora, los datos fluyen desde la RAM al caché L3, luego al L2 y finalmente al L1. Mientras se ejecuta el programa, la CPU busca la información que necesita para ejecutarse, comenzando en el caché L1 y trabajando hacia atrás desde allí. Si la CPU encuentra la información necesaria, se denomina acierto de caché. Si no puede encontrar la información que necesita, es un error de caché y la computadora tiene que buscar en otro lugar para encontrar la información que necesita.
La latencia es un factor importante en la eficiencia de una computadora. La latencia es el tiempo necesario para que se recupere una parte de la información. La caché L1 es la más rápida y, por lo tanto, tiene la latencia más baja. Cuando ocurre una pérdida de caché, la latencia aumenta ya que la computadora debe seguir buscando en diferentes cachés para encontrar la información que necesita.
Las computadoras más nuevas tienen un tamaño de transistor de CPU mucho más pequeño que ha hecho posible construir una placa con más espacio para colocar el caché directamente sobre ella. Colocar físicamente el caché más cerca de la CPU reduce la latencia.
Aunque el caché no es algo que los vendedores de computadoras señalen a menudo, vale la pena revisarlo. Los cachés más rápidos tendrán menos latencia, lo que hará que sus programas se ejecuten más rápido y de manera más eficiente.