Esquemas de Memoria Cache

 Volver al índice 


 
 

Introducción: 

En la búsqueda de mejorar la performance se han propuesto esquemas que incrementan la asociatividad de la cache. Al crecer la asociatividad se reduce la tasa de errores, esto se debe a que se reduce el número de conflictos en las referencias. 

Una implementación tradicional de una cache set-asociativa tiene la desventaja de tener un tiempo de ciclo de acceso más largo que el de una cache directamente mapeada. Muchos métodos se han propuesto para implementar la asociatividad de maneras no tradicionales. Sin embargo, la mayoría de ellos sólo han logrado una asociatividad cercana a dos. Otras, con mayor asociatividad, aún presentan tiempos de ciclo de acceso largos o sufren de un tiempo promedio de acceso prolongado. Aquí se proponen dos estrategias para implementar caches con una asociatividad mayor: la Cache Multi-Columna Secuencial, y la Cache Multi-Columna Paralela. A fin de lograr el mismo tiempo de ciclo de acceso que el de una cache directamente mapeada, la memoria de datos en en estos tipos de cache se organiza en un banco de datos. Se usa la técnica de bloque MRU multiple para aumentar la proporción de aciertos al primer intento, y así reducir el tiempo de acceso promedio. Mientras la Cache Multi-Columna Paralela realiza el chequeo de los tags en paralelo, la Cache Multi-Columna Secuencial busca secuencialmente en los lugares del set, y usa la información del índice para filtrar las pruebas innecesarias. En el caso de una asociatividad de 4, ambas logran el menor valor para la tasa de errores para una cache 4-asociativa. Los resultados de la simulación muestran que ambos esquemas pueden efectivamente reducir el tiempo de acceso promedio. Ellos tienen una mejora promedio de 9.8% y 10.8% en el tiempo de acceso promedio sobre una cache directamente mapeada, y tienen una mejora relativa promedio de 130% y 153% sobre la cache de columnas asociativas, respectivamente, cuando el tamaño de la cache es de 4Kb costo por errores es de 20 ciclos. La mejora de la Cache Multi-Columna Secuencial en el tiempo promedio de acceso alcanza al 22.4% cuando la asociatividad es de 8 y el costo por error aumenta a 100 ciclos. Los dos esquemas son efectivos para ambos tipos de caches, pequeños y grandes (de 1Kb a 128Kb).

 Volver al índice