Un bus de caché es un bus de alta velocidad dedicado que utiliza un procesador de computadora para comunicarse con su memoria caché. También conocido como bus trasero, opera 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. En la mayoría de los procesadores modernos se utiliza un bus de caché para reducir el tiempo necesario para leer o modificar los datos a los que se accede con frecuencia.
En la década de 1980, la memoria caché generalmente se ubicaba en la placa base, no en el chip del procesador en sí. Se accedió a la caché a través del bus del procesador, al igual que la memoria del sistema normal. 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 aumentaron la velocidad y la eficiencia del procesador 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 a que finalizaran las operaciones de entrada / salida y la memoria del sistema mucho más lentas. A mediados de la década de 1990, la mayoría de los procesadores nuevos adoptaron una arquitectura de bus dual para resolver este problema. Se creó un bus de caché de alta velocidad para acceder a la caché directamente. Este bus no se usa para nada más; todas las demás transferencias de datos utilizan el bus de procesador más lento, también conocido como bus frontal. El procesador puede usar ambos buses simultáneamente, lo que resulta en un rendimiento sustancialmente mejor.
Los primeros diseños de bus dual utilizaban con frecuencia 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 combinación de caché interna y externa a medida que mejoraba el rendimiento. Los procesadores modernos suelen utilizar una gran cantidad de caché interno; muchos incluyen 8 megabytes (MB) o más, en comparación con diseños más antiguos que a menudo tenían solo 8 kilobytes (KB). En los diseños modernos en los que todo el caché está integrado en el chip, el bus de caché puede ser bastante corto con una ruta de datos muy amplia, de 512 bits en algunos procesadores. El bus normalmente funciona a la misma velocidad que el propio procesador. El resultado final es que el contenido de la caché se puede leer o modificar muy rápidamente.
Cada núcleo de un procesador de múltiples núcleos 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 datos en su caché, otras copias de esos datos en otras cachés quedan 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 llamado bus entre núcleos. Este bus vincula todos los cachés para que cada uno pueda monitorear lo que hacen los demás; si uno actualiza una parte de los datos compartidos, los demás pueden reflejar inmediatamente el nuevo contenido.