stringtranslate.com

Parada de tubería

En el diseño de procesadores informáticos canalizados , una parada del canalización 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 actualmente ejecutada. Si esta condición se mantiene, la unidad de control detendrá la instrucción por un ciclo de reloj. También detiene la instrucción en la etapa de recuperación, para evitar que la siguiente instrucción del programa sobrescriba la instrucción en esa etapa. [2]

En una arquitectura de Von Neumann que utiliza el registro del contador de programa (PC) para determinar la instrucción actual que se está recuperando en la tubería, para evitar que se obtengan nuevas instrucciones cuando una instrucción en la etapa de decodificación se ha detenido, el valor en el registro de 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] Un evento de este tipo a menudo se denomina 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 canalización 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

Línea de tiempo

Las siguientes son 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 recuperación de la instrucción violeta en el ciclo n.° 2 genera una burbuja que también retrasa todas las instrucciones posteriores.

Tubería RISC clásica

El siguiente ejemplo muestra una burbuja que se inserta en una canalización RISC clásica , con cinco etapas (IF = recuperación de instrucciones, ID = decodificación de instrucciones, EX = ejecución, 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 para 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).

Ver también

Referencias

  1. ^ Patterson, David A.; Hennessy, John L., Organización y diseño de computadoras (4 ed.), Morgan Kaufmann , pág. 338
  2. ^ Patterson, David A; Hennessy, John L (2014), Organización y diseño de computadoras: la interfaz hardware/software (5ª ed.), pág. 318, OCLC  1130276006 , consultado el 25 de mayo de 2020
  3. ^ Patterson, David A.; Hennessy, John L., Organización y diseño de computadoras (4 ed.), Morgan Kaufmann , pág. 373