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