PUERTA | Sudo GATE 2020 Mock II (10 de enero de 2019) | Pregunta 50

Considere una array A[999] y cada elemento ocupa 4 palabras. Se utiliza un caché de 32 palabras y se divide en bloques de 16 palabras. ¿Cuál es la proporción de errores para la siguiente afirmación? Suponga que un bloque se lee en la memoria caché en caso de error:

for(i=0; i < 1000; i++)
  A[i] = A[i] + 99

(A) 0.125
(B) 0.875
(C) 0.75
(D) 0.50

Respuesta: (A)
Explicación: Dado que hay un bloque de 16 palabras, 4 elementos pueden permanecer en un bloque. Ahora observe que se hace referencia a cada elemento dos veces, una operación de lectura y otra de escritura.
Entonces, cuando en un bloque cuando el primer elemento se refiere para leer, se perderá y, por lo tanto, ese bloque se copiará en el caché.
Ahora las referencias 2, 3 y 4 a ese primer elemento serán presionadas para lectura y escritura. Entonces, de 8 referencias, 1 fallo y 7 aciertos para un bloque. Se repite para todos y cada uno de los bloques.
Por lo tanto, acierta 7/8 y falla 1/8.

La opción (A) es correcta.
Cuestionario de esta pregunta

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 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 *