• Asignatura: Informática
  • Autor: milagrossosa129
  • hace 6 años

HORIZONTAL
1 MECANISMO que PERMITE LA Corunicació ENTRE LA
CPO, EL SISTEMA DE MEMORIA Y LAS INFERTACES DE
Los PERischilas, is UN SISTEMA DE ....
2.unidad ENCARCARGADA DE GENEBAB SEÑALES DE
CONTROL NECCSARAS PARA ORgnrizAR LOS FLUJOS DE
INFORMACION EXTERNES e INTCRNOS ENTRE CO. cPo
Y EL RESTO DEL SISTEMA.​

Respuestas

Respuesta dada por: BTSUWULUANA18
0

Respuesta:

La arquitectura de flujo de datos es una arquitectura de computadores que contrasta directamente con la tradicional Arquitectura de von Neumann o de estructuras de control. Las arquitecturas de flujo de datos no se basan en un contador de programa (al menos conceptualmente) en tanto en cuanto la posibilidad de ejecución de las instrucciones solamente viene determinada por la disponibilidad de los argumentos de entrada de las instrucciones. Aunque ningún computador de éxito comercial ha utilizado este tipo de arquitectura, ésta es muy relevante en muchas arquitecturas actuales de software, incluyendo el diseño de sistemas de bases de datos o de sistemas de procesamiento paralelo.

Este tipo de arquitecturas de hardware constituyó una de las principales ramas de investigación sobre arquitectura de computadores en los años 70 y principios de los 80. Jack Dennis del MIT abrió el camino en el campo de las arquitecturas de flujo de datos estático, mientras que la Manchester Dataflow Machine y la arquitectura MIT Tagged Token fueron algunos de los mayores proyectos en flujo de datos dinámico.

Los diseños que emplean direcciones convencionales de memoria como marcas de dependencias de datos son conocidos como máquinas de flujo de datos estático. Estas máquinas no permitían la ejecución simultánea de varias instancias de una misma subrutina porque la forma de etiquetar los datos no diferenciaba entre ellas. Aquellos diseños basados en memoria de contenido direccionable o CAM son llamados máquinas de flujo dinámico de datos.

Normalmente, los compiladores analizan el código fuente del programa en busca de dependencias de datos entre instrucciones para organizar mejor la secuencia en los ficheros binarios de salida. Las instrucciones son organizadas de forma secuencial, pero la información acerca de las dependencias no se graba en los binarios. Sin embargo, los ficheros binarios compilados en una máquina de flujo de datos sí contienen esta información. Un compilador de flujo de datos graba estas dependencias creando etiquetas únicas para cada dependencia en lugar de utilizar nombres variables. Al nombrar cada dependencia de forma unívoca, se consigue que los segmentos de código no dependientes en el fichero binario sean ejecutados sin problemas fuera de orden o en paralelo.

Los programas se cargan en la memoria CAM del computador de flujo dinámico. Cuando todos los operandos etiquetados de una instrucción pasan a estar disponibles (esto es, han recibido la salida de instrucciones previas y/o la entrada de usuario), la instrucción se marca como preparada para su ejecución. Este proceso es conocido como activación o firing. Una vez que la instrucción es completada, su salida es almacenada junto con la correspondiente etiqueta en la memoria CAM. Cualquier instrucción que sea dependiente de este dato en concreto (identificado por el valor de su etiqueta) es entonces marcada como preparada para su ejecución. De este modo, las instrucciones subsiguientes son ejecutadas en el orden correcto, evitando la aparición de condiciones de carrera. Este orden puede diferir del orden secuencial considerado por el programador.

Preguntas similares