Considere una canalización de instrucciones con cinco etapas sin ninguna predicción de bifurcación: Obtener instrucción (FI), Decodificar instrucción (DI), Obtener operando (FO), Ejecutar instrucción (EI) y Escribir operando (WO). Los retardos de etapa para FI, DI, FO, EI y WO son 5 ns, 7 ns, 10 ns, 8 ns y 6 ns, respectivamente. Hay búferes de almacenamiento intermedios después de cada etapa y el retraso de cada búfer es de 1 ns. En este procesador segmentado se ejecuta un programa que consta de 12 instrucciones I1, I2, I3, …, I12. La instrucción I4 es la única instrucción de bifurcación y su objetivo de bifurcación es I9. Si se toma la bifurcación durante la ejecución de este programa, el tiempo (en ns) necesario para completar el programa es
(A) 132
(B) 165
(C) 176
(D) 328
Respuesta: (B)
Explicación:
Pipeline will have to be stalled till Ei stage of l4 completes, as Ei stage will tell whether to take branch or not. After that l4(WO) and l9(Fi) can go in parallel and later the following instructions. So, till l4(Ei) completes : 7 cycles * (10 + 1 ) ns = 77ns From l4(WO) or l9(Fi) to l12(WO) : 8 cycles * (10 + 1)ns = 88ns Total = 77 + 88 = 165 ns
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