Considere un sistema con un esquema de paginación de dos niveles en el que un acceso regular a la memoria toma 150 nanosegundos y el servicio de una falla de página toma 8 milisegundos. Una instrucción promedio toma 100 nanosegundos de tiempo de CPU y dos accesos a la memoria. La tasa de aciertos de TLB es del 90 % y la tasa de fallas de página es de una en cada 10 000 instrucciones. ¿Cuál es el tiempo de ejecución de instrucción promedio efectivo?
(A) 645 nanosegundos
(B) 1050 nanosegundos
(C) 1215 nanosegundos
(D) 1230 nanosegundos
Respuesta: (D)
Explicación:Tenga en cuenta que la tasa de fallas de página se da una falla de página por cada 10,000 instrucciones. Dado que hay dos accesos a la memoria por instrucción, necesitamos un tiempo de traducción de dirección doble para el tiempo promedio de ejecución de la instrucción. Además, se accede a la tabla de 2 páginas si se produce un fallo de TLB. Acceso TLB asumido como 0.
Por lo tanto,
Tiempo promedio de ejecución de instrucciones = Tiempo promedio de ejecución de CPU + Tiempo promedio para obtener datos (operandos de instrucción de la memoria para cada instrucción)
= Tiempo promedio de ejecución de CPU + Tiempo promedio de traducción de direcciones para cada instrucción + Tiempo promedio de recuperación de memoria para cada instrucción + Tiempo promedio de falla de página para cada instrucción
= 100 + 2×(0,9×(0)+0,1×(2×150)) + 2×150 + 1 /10000 × 8 × 10 6
= 100 + 60 + 300 + 800
= 1260 ns
Por lo tanto, ninguna opción 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