Organización de caché multinivel

La memoria caché es una memoria de acceso aleatorio utilizada por la CPU para reducir el tiempo promedio necesario para acceder a la memoria. 
Los cachés multinivel son una de las técnicas para mejorar el rendimiento del caché al reducir la «PENALIZACIÓN POR ERROR» . Miss Penalty se refiere al tiempo adicional requerido para llevar los datos a la caché desde la memoria principal cada vez que hay una «falla» en la memoria caché. 
Para una comprensión clara, consideremos un ejemplo en el que la CPU requiere 10 referencias de memoria para acceder a la información deseada y consideremos este escenario en los siguientes 3 casos de diseño del sistema: 

Caso 1: Diseño del sistema sin memoria caché 

Aquí, la CPU se comunica directamente con la memoria principal y no hay cachés involucrados. 
En este caso, la CPU necesita acceder a la memoria principal 10 veces para acceder a la información deseada. 

Caso 2: Diseño del sistema con memoria caché 

Aquí, la CPU primero verifica si los datos deseados están presentes en la memoria caché o no, es decir, si hay un «acierto» en la memoria caché o un «fallo» en la memoria caché. Supongamos que hay 3 fallas en la memoria caché, luego se accederá a la memoria principal solo 3 veces. Podemos ver que aquí se reduce la penalización por fallo porque se accede a la Memoria Principal un número menor de veces que en el caso anterior. 

Caso 3: Diseño del sistema con memoria caché multinivel 

Aquí, el rendimiento de la memoria caché se optimiza aún más mediante la introducción de memorias caché multinivel. Como se muestra en la figura anterior, estamos considerando un diseño de caché de 2 niveles. Supongamos que hay 3 fallas en la memoria caché L1 y de estas 3 fallas hay 2 fallas en la memoria caché L2, entonces se accederá a la memoria principal solo 2 veces. Está claro que aquí la Penalización de Miss se reduce considerablemente que en el caso anterior mejorando así el Rendimiento de la Memoria Caché. 

NOTA: 
Podemos observar en los 3 casos anteriores que estamos tratando de disminuir el número de referencias de memoria principal y, por lo tanto, disminuir la penalización por fallas para mejorar el rendimiento general del sistema. Además, es importante tener en cuenta que en el diseño de caché multinivel, el caché L1 está conectado a la CPU y es de tamaño pequeño pero rápido. Sin embargo, la memoria caché L2 está adjunta a la memoria caché principal, es decir, la memoria caché L1, y es más grande en tamaño y más lenta, pero aún más rápida que la memoria principal. 

Effective Access Time = Hit rate * Cache access time
                      + Miss rate * Lower level access time

 

Tiempo promedio de acceso para caché multinivel: (T avg ) 

T promedio = H 1 * C 1 + (1 – H 1 ) * (H 2 * C 2 +(1 – H 2 ) *M ) 

donde 
H1 es la tasa de aciertos en las cachés L1. 
H2 es la tasa de aciertos en la memoria caché L2. 
C1 es el tiempo para acceder a la información en los cachés L1. 
C2 es la penalización por error para transferir información desde la memoria caché L2 a una memoria caché L1. 
M es la penalización por fallo al transferir información desde la memoria principal a la caché L2. 

Ejemplo: 
Encuentre el tiempo promedio de acceso a la memoria para un procesador con un tiempo de ciclo de reloj de 2 ns, una tasa de fallas de 0,04 fallas por instrucción, una penalización por fallas de 25 ciclos de reloj y un tiempo de acceso a la memoria caché (incluida la detección de aciertos) de 1 ciclo de reloj . Además, suponga que las penalizaciones por error de lectura y escritura son las mismas e ignore otras paradas de escritura. 

Solución: 

Tiempo promedio de acceso a la memoria (AMAT) = Tiempo de acierto + Tasa de fallas * Penalización por fallas. 

Tiempo de acierto = 1 ciclo de reloj (Tiempo de acierto = tasa de acierto * tiempo de acceso) pero aquí el tiempo de acierto se da directamente, así que, 

Tasa de fallas = 0.04 

Miss Penalty = 25 ciclos de reloj (este es el tiempo que tarda el nivel de memoria anterior después del golpe) 

entonces, AMAT= 1 + 0.04 * 25 
AMAT= 2 ciclo de reloj 

según pregunta 1 ciclo de reloj = 2 ns 

AMAT = 4ns 

Publicación traducida automáticamente

Artículo escrito por shreya garg 4 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *