Cache Multicolumna Paralela

 Volver al índice 


 

Descripción

Este esquema separa la implementación del arreglo de tags y del arreglo de datos. Aunque guarda la memoria de datos en un banco, organiza la memoria de tags en n bancos. El sistema de la cache accesa el banco de datos secuencialmente, una palabra a la vez, pero realiza el chequeo de tags en paralelo. Este desacoplamiento hace posible despachar datos especulativamente hacia la CPU. No es necesaria una operación multiplexada en los datos. 

La cache multicolumna paralela usa una búsqueda paralela, como se muestra en la figura 5. En una referencia, lee los datos en la posición principal desde el banco de datos, de la misma forma que una cache directamente mapeada lo hace, y los despacha a la CPU. Al mismo tiempo, lee y chequea n tags en paralelo, usando un método similar al que realiza una cache n-asociativa convencional. Un acierto al primer intento ocurre si el tag para la posición principal concuerda con el tag de la referencia. Si cualquiera de los otros tags concuerda con el tag de referencia, un segundo acierto ocurre, requiriendo otro ciclo para accesar el banco de datos nuevamente. El sistema de la cache genera la dirección para este acceso usando la salida del chequeo del tag. Si la referencia no se encuentra en la cache, traera un nuevo bloque desde la memoria convencional. Una operación de swap es necesaria en caso de que la referencia falle o un segundo acierto. 

Esta estrategia genera la dirección para el segundo acceso al banco de datos después del chequeo del tag con una demora de una puerta OR. Esto aumenta un poco el tiempo de ciclo en un procesador VLSI, que no implementa una ejecución optimista. Si el procesador usa una ejecución optimista, el sistema de la cache chequea los tags en el proximo ciclo. El hardware para generar la dirección para el segundo acceso agrega una demora al ciclo de tiempo. Para obtener el mismo ciclo de tiempo que en una cache directamente mapeada, destinamos un ciclo completo para la generación de las direcciones para el segundo acceso. En este caso, cuatro ciclos, y no tres, son necesarios para un segundo acierto. La figura 5 muestra el tiempo requerido para este caso entre paréntesis cuadrados. 

Este esquema combina esencialmente la cache directamente mapeada y la tradicional cache n-asociativa con la aplicación de la técnica de bloque MRU multiple. Hereda de la cache directamente mapeada el corto ciclo de tiempo y de la cache n-asociativa la búsqueda paralela. En complejidad y costo de hardware, esta estrategia cae entre la cache directamente mapeada y la cache asociativa tradicional.

 Volver al índice