Articulo de referencia

Parada en el oleoducto

En el diseño de procesadores informáticos segmentados , un bloqueo de segmentación es un retraso en la ejecución de una instrucción para resolver un riesgo . [ 1 ] Detalles En u...

En el diseño de procesadores informáticos segmentados , un bloqueo de segmentación es un retraso en la ejecución de una instrucción para resolver un riesgo . [ 1 ]

Detalles

En una arquitectura de pipeline estándar de cinco etapas , durante la etapa de decodificación , la unidad de control determina si la instrucción decodificada lee de un registro en el que escribe la instrucción que se está ejecutando. Si se cumple esta condición, la unidad de control retrasa la instrucción un ciclo de reloj. También retrasa la instrucción en la etapa de búsqueda para evitar que la siguiente instrucción del programa la sobrescriba. [ 2 ]

En una arquitectura Von Neumann que utiliza el registro del contador de programa (PC) para determinar la instrucción actual que se está buscando en la tubería, para evitar que se busquen nuevas instrucciones cuando una instrucción en la etapa de decodificación se ha detenido, el valor en el registro PC y la instrucción en la etapa de búsqueda 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 ] Este evento se suele denominar 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 debe realizar una acción en cada ciclo. En ese caso, la burbuja se implementa alimentando la etapa de ejecución con instrucciones NOP ("sin operación"), hasta que la burbuja la supera.

Ejemplos

Cronología

A continuación se muestran dos ejecuciones de las mismas cuatro instrucciones a través de una tubería de 4 etapas, pero, por alguna razón, un retraso en la obtención de la instrucción morada en el ciclo n.° 2 provoca la creación de una burbuja que retrasa también todas las instrucciones posteriores.

Pipeline RISC clásico

El siguiente ejemplo muestra la inserción de una burbuja en una arquitectura RISC clásica de cinco etapas (IF = Captura de instrucción, ID = Decodificación de instrucción, EX = Ejecución, MEM = Acceso a memoria, WB = Escritura en registro). En este ejemplo, la etapa EX (tercera etapa) de la segunda instrucción requiere como entrada los datos disponibles después de la etapa MEM (cuarta etapa). Sin la burbuja, la etapa EX (tercera etapa) solo tiene acceso a la salida de la etapa EX anterior. Por lo tanto, la adición de una burbuja resuelve la dependencia temporal sin necesidad de propagar los datos hacia atrás en el tiempo (lo cual es imposible).

Véase 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   
  3. Patterson, David A.; Hennessy, John L., Organización y diseño de computadoras (4.ª ed.), Morgan Kaufmann , pág. 373