cálculos de tiempo de acceso efectivo de caché multinivel considerando la falta de caché

0

Estaba resolviendo el ejercicio del libro de William Stallings en el capítulo de la memoria caché. El problema era:

  

Para un sistema con dos niveles de caché, defina T c1 = tiempo de acceso al caché de primer nivel; T c2 = tiempo de acceso al caché de segundo nivel; T m = tiempo de acceso a la memoria; H 1 = tasa de aciertos de caché de primer nivel; H 2 = índice de aciertos de caché de primer / segundo nivel combinados. Proporcione una ecuación para T a para una operación de lectura.

La solución dada fue:

  

$$ T_ {a} = [T_ {c1} + (1 - H_ {1}) T_ {c2}] + (1 - H_ {2}) T_ { m} $$

No puedo conseguir esto. ¿No debería ser

  

$$ T_ {a} = \ color {red} {H_ {1}} T_ {c1} + (1 - H_ {1}) (T_ {c2} + \ color {rojo} {T_ {c_1}}) + (1 - H_ {2}) (T_ {m} \ color {rojo} {+ T_ {c2} + T_ {c_1}}) $$

El motivo de H 1 es que se produce la probabilidad con el éxito de caché. No podemos simplemente agregar el tiempo de acceso L1.

El motivo de T c1 es que ya hemos accedido al caché L1 antes de acceder al caché L2, cuando se produce una falla en el caché L1.

El mismo es el motivo de T c1 + T c2 . Ya hemos accedido al caché L1 y L2 antes de acceder al caché de la memoria principal, cuando se produce una falla en el caché L1 y L2.

¿Estoy equivocado con mi ecuación o el libro está equivocado?

    
pregunta anir

2 respuestas

0

DEBES acceder siempre a la memoria caché L1 antes de saber si tienes éxito o falta.

(Editado)
Todas las fallas luego van a la memoria caché L2, después de lo cual sabrá si tuvo un golpe de L2, etc.

Ten en cuenta que

$$ \ color {red} {H_ {1}} T_ {c1} + (1 - H_ {1}) (T_ {c2} + \ color {rojo} {T_ {c_1}) $$

es igual a

$$ T_ {c1} + (1 - H_ {1}) (T_ {c2}) $$

Entonces, la primera parte de tu fórmula concuerda con el libro. La última parte no lo hace. Pero siguiendo el razonamiento que conduce a los dos primeros términos, el tercer término debe verse como lo dice el libro.

Multiplica el segundo término:

$$ \ color {red} {H_ {1}} T_ {c1} + (1 - H_ {1}) (T_ {c2} + \ color {rojo} {T_ {c_1}}) < = > $$

$$ \ color {red} {H_ {1}} T_ {c1} + (1 - H_ {1}) T_ {c2} + (1 - H_ {1 }) \ color {rojo} {T_ {c_1}} $$

y $$ \ color {red} {H_ {1}} T_ {c1} + (1 - H_ {1}) T_ {c1} < = > $$ $$ \ color {red} {H_ {1}} T_ {c1} + T_ {c1} - H_ {1} T_ {c1} < = > $$ $$ T_ {c1} $$

Pido disculpas, mi comentario sobre los terceros términos fue un poco críptico.

Deberíamos contar el caché L1 completo (hit and miss): $$ T_ {c1} $$ Todos los accesos restantes (que son todos los fallos de L1) van al caché de L2: $$ (1 - H_ {1}) T_ {c2} $$ Siguiendo la misma lógica, todos los accesos restantes (que son todos los fallos de L2) van a la memoria principal: $$ (1 - H_ {2}) T_ {m} $$

    
respondido por el Oldfart
0

Como respondió @Oldfart, la lógica

  

Deberíamos contar el caché L1 completo (hit and miss):    $$ T_ {c1} $$   Todos los accesos restantes (que son todos los fallos de L_1) van a la caché L2:    $$ (1 – H_1) T_ {c2} $$

sí produce una versión simplificada de la ecuación: $$ H_1T_ {c1} + (1-H_1) (T_ {c1} + T_ {c2}) $$

Sin embargo, siento la ecuación que especifiqué:

$$ T_ {a} = {H_ {1}} T_ {c1} + (1 - H_ {1}) (T_ {c2} + {T_ {c_1} }) + (1 - H_ {2}) (T_ {m} {+ T_ {c2} + T_ {c_1}}) $$

es incorrecto, ya que no se simplifica a la ecuación de los libros:

$$ T_ {a} = [T_ {c1} + (1 - H_ {1}) T_ {c2}] + (1 - H_ {2}) T_ { m} $$

El error fue que simplemente no puedo tener el término: $$ (1 - H_ {1}) (T_ {c2} + {T_ {c_1}}) $$

Tengo que considerar la probabilidad de que ocurra un golpe de L2, que es lo que me perdí. Tenga en cuenta que H 2 es una probabilidad combinada de éxito de L1 y L2. Entonces, si uso H 2 'como probabilidad de (solo) L2 hit, entonces por principio de inclusión y exclusión:

$$ H_2 = H_1 + H_2'-H_ {1} H_2 '$$ Por lo tanto,

$$ H_2 '= \ frac {H_2-H_1} {1-H_1} $$

Por lo tanto, la ecuación que especifiqué en la pregunta debería haber sido

$$ \ require {enclose} $$

$$ T_ {a} = {H_ {1}} T_ {c1} + \ enclose {updiagonalstrike} {(1 - H_ {1})} \ frac {H_2 -H_1} {\ enclose {updiagonalstrike} {1 - H_ {1}}} (T_ {c2} + {T_ {c_1}}) + (1 - H_ {2}) (T_ {m} {+ T_ {c2 } + T_ {c_1}}) $$

$$ = \ color {red} {\ enclose {updiagonalstrike} {H_1T_ {c1}}} + \ color {azul} {\ enclose {updiagonalstrike} {H_2T_ {c1}}} + \ color {verde} {\ enclose {updiagonalstrike} {H_2T_ {c2}}} - \ color {rojo} {\ enclose {updiagonalstrike} {H_1T_ {c1}}} -H_1T_ {c2} + T_ {c1} + T_ {c2} + T_m - \ color {azul} {\ enclose {updiagonalstrike} {H_2T_ {c1}}} - \ color {verde} {\ enclose {updiagonalstrike} {H_2T_ {c2}}} -H_2T_m $$

$$ = T_ {c1} + (1-H_1) T_ {c2} + (1-H_2) T_m $$ Esta última ecuación es lo que el libro crea directamente.

    
respondido por el anir

Lea otras preguntas en las etiquetas