Factores que determinan el rendimiento de la memoria caché
El tiempo de acceso a memoria durante la ejecución de un programa será :
Tacceso = Na * Tc + Nf * Tp (1)
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 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
El tiempo de acceso a un bloque de Mp constituye la componente principal del tiempo total de penalización de un fallo. En la siguiente expresión hemos considerado ambos términos equivalentes:
Tacceso_medio = Tacierto + Tf * Penalización_fallo (2)
donde:
Tacierto = Ta*Tc, válido si frente a un fallo, el bloque se lleva a Mp al tiempo que la palabra referenciada del bloque se lleva (en paralelo) a Mc. Si estas dos acciones se realizan de forma secuencial Tacierto = Tc. ya que toda referencia implicaría un acceso a Mc y por tanto la expresión (1) se transformaría en:
Tacceso = Nr * Tc + Nf * Tp ==> Tacceso_medio = Tacceso/ Nr = Tc + Tf*Tp (3)
De las expresiones (2) ó (3) podemos inducir 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, Penalización_fallo
3. Reducción del tiempo de acierto, Tacierto
Fuente: Estructura de Computadores, Facultad de Informática, UCM