Suponga que las funciones F y G se pueden calcular en 5 y 3 nanosegundos mediante las unidades funcionales U F y U G , respectivamente. Dadas dos instancias de U F y dos instancias de U G , se requiere implementar el cálculo F(G(Xi)) para 1 <= i <= 10. Ignorando todos los demás retrasos, el tiempo mínimo requerido para completar este cálculo es ________________ nanosegundos [Tenga en cuenta que esta es originalmente una pregunta para completar los espacios en blanco]
(A) 28
(B) 20
(C) 18
(D) 30
Respuesta: (A)
Explicación: Antecedentes: Explicación:
La canalización es una técnica de implementación en la que varias instrucciones se superponen en la ejecución.
Las etapas están conectadas una a la siguiente para formar una tubería: las instrucciones ingresan por un extremo, avanzan
a través de las etapas y salen por el otro extremo.
La canalización no reduce el tiempo de ejecución de instrucciones individuales. En cambio, aumenta el
rendimiento de las instrucciones. El rendimiento de la canalización de instrucciones está determinado por la frecuencia con la que una instrucción sale de la canalización.
El mismo concepto se utiliza en la canalización. El cuello de botella aquí es UF, ya que tarda 5 ns, mientras que UG
solo tarda 3 ns. Tenemos que hacer 10 de esos cálculos y tenemos 2 instancias de UF y UG respectivamente.
Dado que hay dos unidades funcionales, cada unidad tiene 5 números de unidades para calcular. Supongamos
que el cálculo comienza en el tiempo 0, lo que significa que G comienza en 0 y F comienza en el tercer segundo, ya que G termina de calcular el primer elemento en el tercer segundo.
Entonces, la UF se puede hacer en 5*10/2=25 nanosegundos. Para el inicio, UF debe esperar la salida de UG durante 3 ns y el resto, todos están canalizados y, por lo tanto, no hay que esperar más. Entonces, la respuesta es 3+25=28
Esta solución es aportada por Nitika Bansal
Otra solución:
dado que hay dos unidades funcionales, cada unidad obtiene 5 números de unidades para calcular. Supongamos que el cálculo comienza en el tiempo 0
, lo que significa que G comienza en 0 y F comienza en el tercer segundo, ya que G termina de calcular el primer elemento en el tercer segundo.
Hora en la que F termina de calcular = 3 + 5*5 = 28
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