stringtranslate.com

Reenvío de operandos

El reenvío de operandos (o reenvío de datos ) es una optimización en las CPU canalizadas para limitar los déficits de rendimiento que ocurren debido a bloqueos en la canalización . [1] [2] Un peligro de datos puede provocar un bloqueo en la canalización cuando la operación actual tiene que esperar los resultados de una operación anterior que aún no ha terminado.

Ejemplo

Sumar ABC #A=B+CSubtítulo DCA #D=CA

Si estas dos instrucciones de pseudocódigo de ensamblaje se ejecutan en una canalización, después de obtener y decodificar la segunda instrucción, la canalización se detiene y espera hasta que se escriba y lea el resultado de la suma.

En algunos casos, todos los bloqueos provocados por estos peligros de lectura tras escritura de datos se pueden eliminar por completo mediante el reenvío de operandos: [3] [4] [5]

Realización técnica

La unidad de control de la CPU debe implementar lógica para detectar dependencias en las que tenga sentido el reenvío de operandos. Luego se puede utilizar un multiplexor para seleccionar el registro o flip-flop adecuado desde el que leer el operando.

Véase también

Referencias

  1. ^ "CMSC 411 Clase 19, Reenvío de datos mediante canalización". Departamento de Ciencias de la Computación e Ingeniería Eléctrica de la Universidad de Maryland, condado de Baltimore . Consultado el 22 de enero de 2020 .
  2. ^ "Computación de alto rendimiento, notas de clase 11". hpc.serc.iisc.ernet.in. Septiembre de 2000. Archivado desde el original el 27 de diciembre de 2013. Consultado el 8 de febrero de 2014 .
  3. ^ Gurpur M. Prabhu. "Tutorial de arquitectura informática". Secciones "Reenvío" y "Clasificación de riesgos de datos".
  4. ^ Dr. Orion Lawlor. "Pipelining, bloqueos en el pipeline y reenvío de operandos".
  5. ^ Larry Snyder. "Revisión del oleoducto".

Enlaces externos