Por qué el peligro del control es peor para tuberías más profundas

0

Estoy estudiando la arquitectura informática y leí que "los riesgos de control son peores cuanto más profundo está el gasoducto". Pero ¿por qué es este el caso? ¿Es la rama más profunda y, por lo tanto, tarda más tiempo en ejecutarse?

    

1 respuesta

3

Si un peligro de control no se resuelve adecuadamente, el programa se ve obligado a esperar hasta que finalice una instrucción antes de poder pasar a la siguiente instrucción y, por lo tanto, el rendimiento es drásticamente ralentizado . Este evento usualmente ocurre cuando realmente no sabemos cuál será la próxima instrucción en el programa. Se pierde tiempo, por lo que necesitamos una canalización para poder hacer varias cosas mientras esperamos que termine una instrucción.

De un libro de texto que tenía cuando estaba en la universidad estudiando arquitectura de computadoras: "Supongamos que a nuestro equipo de lavandería se le dio la feliz tarea de limpiar los uniformes de un equipo de futbol. Teniendo en cuenta lo sucia que está la ropa, debemos determinar si el detergente y el ajuste de la temperatura del agua que seleccionamos son lo suficientemente fuertes para limpiar los uniformes, pero no tanto como para que los uniformes se desgasten antes. En nuestra tubería de lavandería, tenemos que esperar hasta la segunda etapa para examinar el uniforme seco para ver si necesitamos cambiar la configuración de la lavadora o no ".

Pero hay formas de evitar el problema:

  1. Estancamiento hasta que se termine la rama
  2. Predecir si se toma una rama
  3. Predecir si no se toma una rama
  4. Retrasa la rama después de una instrucción
respondido por el KingDuken

Lea otras preguntas en las etiquetas