En el diseño de procesadores informáticos interconectados , un bloqueo de una tubería es un retraso en la ejecución de una instrucción para resolver un peligro . [1]
Detalles
En una canalización estándar de cinco etapas , durante la etapa de decodificación , la unidad de control determinará si la instrucción decodificada lee de un registro en el que escribe la instrucción ejecutada actualmente. Si esta condición se mantiene, la unidad de control detendrá la instrucción en un ciclo de reloj. También detiene la instrucción en la etapa de recuperación, para evitar que la instrucción en esa etapa sea sobrescrita por la siguiente instrucción del programa. [2]
En una arquitectura de Von Neumann que utiliza el registro de contador de programa (PC) para determinar la instrucción actual que se está obteniendo en la tubería, para evitar que se obtengan nuevas instrucciones cuando una instrucción en la etapa de decodificación se ha estancado, el valor en el registro de la PC y las instrucciones en la etapa de recuperación se conservan para evitar cambios. Los valores se conservan hasta que la instrucción que causa el conflicto haya pasado por la etapa de ejecución. [3] A este evento se le suele llamar burbuja , por analogía con una burbuja de aire en una tubería de fluido.
En algunas arquitecturas, la etapa de ejecución de la tubería siempre debe realizar una acción en cada ciclo. En ese caso, la burbuja se implementa alimentando instrucciones NOP ("sin operación") a la etapa de ejecución, hasta que la burbuja pasa por ella.
Ejemplos de
Cronología
A continuación se muestran dos ejecuciones de las mismas cuatro instrucciones a través de una canalización de 4 etapas pero, por cualquier motivo, un retraso en la obtención de la instrucción púrpura en el ciclo n. ° 2 provoca la creación de una burbuja que retrasa todas las instrucciones posteriores.
Ejecución normal | Ejecución con burbuja |
Canalización RISC clásica
El siguiente ejemplo muestra una burbuja que se inserta en una tubería RISC clásica , con cinco etapas (IF = Búsqueda de instrucciones, ID = Decodificación de instrucciones, EX = Ejecutar, MEM = Acceso a memoria, WB = Escritura de registro). En este ejemplo, los datos disponibles después de la etapa MEM (cuarta etapa) de la primera instrucción se requieren como entrada de la etapa EX (tercera etapa) de la segunda instrucción. Sin burbuja, la etapa EX (3ª etapa) solo tiene acceso a la salida de la etapa EX anterior. Por lo tanto, agregar una burbuja resuelve la dependencia del tiempo sin necesidad de propagar los datos hacia atrás en el tiempo (lo cual es imposible).
Pasando hacia atrás en el tiempo | Problema resuelto usando una burbuja |
Ver también
Referencias
- ^ Patterson, David A .; Hennessy, John L., Organización y diseño de computadoras (4 ed.), Morgan Kaufmann , p. 338
- ^ Patterson, David A; Hennessy, John L (2014), Organización y diseño de computadoras: la interfaz hardware / software (5a ed.), P. 318, OCLC 1130276006 , consultado el 25 de mayo de 2020
- ^ Patterson, David A .; Hennessy, John L., Organización y diseño de computadoras (4 ed.), Morgan Kaufmann , p. 373