Si frente a un fallo, el bloque de Mp se lleva a Mc al tiempo que la palabra referenciada del bloque se lleva (en paralelo) a la CPU, el tiempo de acceso a memoria durante la ejecución de un programa será :
Tacceso = Na * Tc + Nf * Tp donde:
Na es el número de referencias con acierto
Nf es el número de referencias con fallo
Tc es el tiempo de acceso a una palabra de Mc
Tp es el tiempo de acceso a un bloque de Mp
El tiempo de acceso a un bloque de Mp, Tp, constituye la componente principal del tiempo total de penalización por fallo.
El tiempo de acceso medio durante la ejecución del programa valdrá:
Tacceso_medio = Tacceso/ Nr = Ta*Tc + Tf*Tp donde:
Ta = Na/Nr es la tasa de aciertos
Tf = Na/Nr es la tasa de fallos
Nr es el número total de referencias a memoria
A la primera componente se le denomina Tacierto = Ta*Tc,
En cambio, si frente a un fallo, el bloque de Mp se lleva primero a Mc y después se lee la palabra referenciada de Mc y se lleva a la CPU, el tiempo de acceso a memoria durante la ejecución de un programa será :
Tacceso = Nr * Tc + Nf * Tp y Tacceso_medio = Tacceso/ Nr = Tc + Tf*Tp En este caso Tacierto = Tc
De cualquiera de las expresiones anteriores podemos deducir que para mejorar el rendimiento de una caché, podemos actuar sobre tres términos, dando lugar a tres tipos de optimizaciones:
1. Reducción de la tasa de fallos, Tf
2. Reducción de la penalización de los fallos, Tp
3. Reducción del tiempo de acierto, Tacierto
0 comentarios:
Publicar un comentario