Skip to main content

¿Qué es un bus de caché?

Un bus de caché es un bus de alta velocidad dedicado que un procesador de computadora utiliza para comunicarse con su memoria caché. También conocido como bus trasero, funciona a una velocidad mucho mayor que el bus del sistema. Un bus de caché conecta directamente un núcleo de procesador a su caché; se ejecuta independientemente del bus del procesador, transfiriendo datos a través de una ruta más amplia y menos restringida. Un bus de caché se utiliza en la mayoría de los procesadores modernos para disminuir el tiempo requerido para leer o modificar datos a los que se accede con frecuencia.

En la década de 1980, la memoria caché generalmente se encontraba en la placa base, no en el chip del procesador. Se accedió a la memoria caché a través del bus del procesador, al igual que la memoria normal del sistema. La cantidad de memoria caché a menudo era bastante pequeña y se ofrecía solo como una mejora opcional del rendimiento del sistema.

A medida que la velocidad y la eficiencia del procesador aumentaron a principios de la década de 1990, el bus del procesador se convirtió en un cuello de botella; La memoria caché rápida necesitaba una forma de interactuar con el procesador sin esperar que la memoria del sistema y las operaciones de entrada / salida fueran mucho más lentas para finalizar. A mediados de la década de 1990, la mayoría de los procesadores nuevos adoptaron una arquitectura de doble bus para resolver este problema. Se creó un bus de caché de alta velocidad para acceder directamente al caché. Este bus no se utiliza para nada más: todas las demás transferencias de datos utilizan el bus de procesador más lento, también conocido como el bus frontal. El procesador puede usar ambos buses simultáneamente, lo que resulta en un rendimiento sustancialmente mejor.

Los primeros diseños de doble bus utilizaban con frecuencia la memoria caché ubicada en la placa base; grandes cantidades de caché en chip aún no eran rentables debido a problemas de rendimiento de producción. Los diseños posteriores a menudo incorporaron una mezcla de caché interna y externa a medida que mejoraba el rendimiento. Los procesadores modernos generalmente utilizan una gran cantidad de caché interna; muchos incluyen 8 megabytes (MB) o más, en comparación con diseños anteriores que a menudo tenían solo 8 kilobytes (KB). En los diseños modernos en los que todo el caché está en chip, el bus de caché puede ser bastante corto con una ruta de datos muy amplia, 512 bits en algunos procesadores. El bus generalmente funciona a la misma velocidad que el procesador mismo. El resultado final es que el contenido de la memoria caché se puede leer o modificar muy rápidamente.

Cada núcleo de un procesador multinúcleo puede tener su propia caché o compartir una gran caché común. En ambos casos, un bus de caché conecta cada núcleo a la memoria caché adecuada. Cuando cada núcleo de procesador tiene su propia caché separada, pueden surgir problemas de coherencia. Por ejemplo, cuando un núcleo actualiza los datos en su caché, otras copias de esos datos en otros cachés se vuelven obsoletas o "obsoletas". Una forma de resolver este tipo de problema es mediante el uso de un tipo especial de bus de caché, a veces denominado bus inter-core. Este bus une todas las memorias caché para que cada una pueda monitorear lo que están haciendo las demás. Si una actualiza una parte de los datos compartidos, las otras pueden reflejar inmediatamente el nuevo contenido.