Introducción

Rápidos avances en la tecnología VLSI han hecho posible tener poderosos procesadores single-chip (en un solo chip), como procesadores superescalares, superpipelines y vectoriales. Estos tipos de procesadores, generalmente ocupan cerca de la mitad del área del chip para memorias como registros, TLB y caches. La cache es la parte más importante de la jerarquía de memoria en los procesadores single-chip de hoy en día.

Un chip de memoria cache, generalmente consiste de dos áreas relativamente independientes, una para datos, llamada área de datos, y la otra para tags y bits de estatus, conocido como área de tag. El área de datos almacena los actuales datos necesitados por los programas en ejecución, mientras que en el área de tag se guardan los encabezados necesitados para determinar si una línea de datos en el cache esta siendo reverenciada. Hay, por lo tanto, una relación uno a uno entre el área de datos área de datos y el área de tag. Para mejorar el desempeño de la cache, nos gustaría tener una gran área de datos, sin embargo, esto tiene como resultado un aumento en el tamaño del área de tag.

Para minimizar el costo de implementar el área de tag de un chip de cache, lo investigadores observaron la propiedad de localidad de las referencias a memoria. Para observar este fenómeno se realizaron experimentos de simulación y se tomaron instantáneas del cache de datos y sus correspondientes tags. Se observó que la mayor cantidad de tags eran idénticos. Esto permitió determinar que el conjunto de trabajo de tags únicos es mucho más pequeño que el conjunto de trabajo de referencias a datos. Debido a que los tags redundantes en un chip de memoria pueden no ser necesarios, y son claramente más caros, se propone una nueva técnica conocida como Caching Address Tags (CAT).

La idea de esta técnica es muy simple, En vez de almacenar todos los tags correspondientes a las líneas de datos almacenados en la cache, se usa una pequeña memoria cache, llamada tag cache, para almacenar solamente los tags distintos. El tag cache representa un nuevo nivel de caching dentro de la memoria cache.

 




Back | Menú Principal | El Cat Cache