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 se producen debido a paradas de canalización . [1] [2] Un riesgo de datos puede provocar una parada en la tubería cuando la operación actual tiene que esperar los resultados de una operación anterior que aún no ha finalizado.

Ejemplo

AÑADIR ABC#A=B+CSUBDCA #D=CA

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

En algunos casos, todos los bloqueos provocados por estos riesgos 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 donde el reenvío de operandos tiene sentido. Luego se puede utilizar un multiplexor para seleccionar el registro o flip-flop adecuado para leer el operando.

Ver también

Referencias

  1. ^ "CMSC 411 Conferencia 19, Canalización de reenvío de datos". Departamento de Ingeniería Eléctrica y Ciencias de la Computación del Condado de Baltimore de la Universidad de Maryland . Consultado el 22 de enero de 2020 .
  2. ^ "Computación de alto rendimiento, Apuntes 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 de ordenadores". Secciones "Reenvío". y "Clasificación de riesgos de datos".
  4. ^ Dr. Orión Lawlor. "Canalización, paradas de canalización y reenvío de operandos".
  5. ^ Larry Snyder. "Revisión de canalización".

enlaces externos