【Composición y diseño de computadoras】 -Capítulo 5 Jerarquía de memoria (3)

5.4 Medición y mejora del rendimiento de la caché

Asociación de caché

Hay tres métodos principales de mapeo de la línea de caché: mapeo dirigido, asociativo completo y asociativo establecido.

La reducción de la tasa de errores se puede lograr mediante un mapeo flexible.

Mapeo dirigido:

Cada bloque de memoria solo puede existir en una línea de caché en el caché.

Cada vez que se carga un nuevo bloque de memoria, se debe reemplazar una determinada línea de caché y la tasa de errores es relativamente alta.

Asociativo completo:

Cada bloque de memoria puede almacenar todas las líneas de caché en el caché.

Al determinar si un caché está afectado, se requieren más recursos de hardware; generalmente se aplica a cachés con menos números de líneas de caché.

Conjunto-grupo asociativo conectado

Generalmente es asociativo de conjunto de n vías (grupo de n vías conectado).

Cada conjunto consta de n líneas de caché y cada bloque de memoria se puede colocar en cualquier línea de caché de un determinado conjunto.

Camino significa que un bloque de memoria se puede colocar en varias líneas de caché.

Desde otra perspectiva, los tres métodos de mapeo son asociativos, pero el método es diferente.

Localización de bloque en caché asociativo establecido

En el caché asociativo de conjuntos, el campo de índice en la dirección se usa para indexar qué conjunto, y qué línea de caché del conjunto se determina comparando las etiquetas. El proceso de comparación de etiquetas se lleva a cabo al mismo tiempo: si es de 4 vías, entonces se requieren cuatro comparadores.

La siguiente figura muestra un caché de 4 vías con un total de 256 conjuntos.

Reemplazo de estrategia de bloque

Generalmente LRU (usado menos recientemente)

Reducir la penalización por fallo utilizando cachés multinivel

 En particular, una estructura de caché de dos niveles permite que la caché primaria se centre en minimizar el tiempo de acierto para producir un ciclo de reloj más corto o menos etapas de canalización, al tiempo que permite que la caché secundaria se centre en la tasa de errores para reducir la penalización de los largos tiempos de acceso a la memoria.

La caché principal de una caché multinivel  suele ser más pequeña. Además, la caché principal puede utilizar un tamaño de bloque más pequeño, para acompañar el tamaño de caché más pequeño y también para reducir la penalización por error.

En comparación, la caché secundaria será mucho mayor que en una caché de un solo nivel, ya que el tiempo de acceso a la caché secundaria es menos crítico. Con un tamaño total mayor, la caché secundaria puede utilizar un tamaño de bloque mayor que el apropiado con una sola caché. -caché de nivel. A menudo utiliza una mayor asociatividad que la caché principal dado el objetivo de reducir las tasas de errores.

referencia:

1. Composición y diseño de computadoras Quinta edición Edición ARM

Supongo que te gusta

Origin blog.csdn.net/m0_38037810/article/details/126640457
Recomendado
Clasificación