Arquitetura Dataflow
O primeiro computador paralelo baseado em fluxo de dados é o Manchester Dataflow
Computer. O protótipo deste computador foi desenvolvido na Universidade de Manchester
(UK) em 1981 e tinha 12 processadores.
Características
• Execução de instruções ocorre por demanda de dados, que quando presentes, disparam a execução da instrução gerando um novo dado a ser transmitido para outras instruções.
• Não é necessário um contador de programa
• No seu conceito, Dataflow tem alta performance, porém tem uma limitação em relação ao numero de unidades funcionais, taxa de transmissão de memória e a pendência de identificar os dados para uma operação.
Os sistemas Fluxo de Dados não possuem variáveis, pois os valores são representados por pacotes que são transmitidos entre os processadores. Cada processador possui a tarefa de executar alguma operação com sua(s) entrada(s) e produzir uma saída contendo o resultado daquela operação. Cada processador pode iniciar a execução assim que seus dados estejam disponíveis. A sequência das operações é implícita à aplicação e depende exclusivamente do fluxo de dados.
Não existe o conceito de armazenamento de dados na memória.
Os mesmos são "consumidos" (usados) e deixam de existir. Associado a cada processador existe um template que contém informação a respeito da operação a ser realizada, os buffers de entrada e uma lista dos destinos de saída. O template é similar a uma instrução em um computador tradicional do modelo von
Neumann.
Modelo de um template
Um computador Dataflow é composto por
4 unidades básicas:
Memória de templates – responsável pelo armazenamento dos templates;
Unidade de Despacho