aula 7 de arquitetura

11
Universidade de São Paulo Dr. Jorge Luiz e Silva

Upload: marco-silva

Post on 09-Jul-2015

937 views

Category:

Education


1 download

DESCRIPTION

Material do Prof. Jorge ICMC-USP

TRANSCRIPT

Universidade de São PauloDr. Jorge Luiz e Silva

Máquinas a Fluxo de Dados

Características Básicas

Exemplos

• Execução das instruções ocorrem por demanda dos 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.• Paralelismo é limitado somente pela dependência dos dados na aplicação.• Apesar de conceitualmente o DataFlow ter alta performance, a limitação fica por conta do número de unidades funcionais, taxa de transmissão de memória, e a pendência em identificar os dados para uma operação.

• Jack Dennis propôs o primeiro computador a fluxo de dados em 1974.•MIT tagged token datafow architecture (Arvindet. al., 1983)• Mancherter Dataflow Computer (Gurd andWatson, 1982)• ETL Electrotechnical Laboratory, Tsukuba, Sigma-1 (Hiraki and Shimada, 1987)• ETL EM-4 system (Sakai et. al., 1989)

• Um programa pode ser descrito através de uma linguagem gráfica contendo nós e arcos direcionados, por onde circulam os dados.• Cada nó contem uma operação dataflow.• Dentre as operações podemos ter operações lógicas, aritméticas, condicionais, manipulação de loops (while, for, repeat), etc.• O paralelismo pode ser visto por níveis de execução no grafo dataflow.

• Arquiteturas Estáticas permitem somente um dado por arco no grafo dataflow.

– Dificuldade no gerenciamento dos arcos, uma vez que não é permitido mais que um dado presente no arco.– Overhead de comunicação para manter apenas um dados em cada arco.

• Arquiteturas Dinâmicas permitem mais que um dado por arco no grafo dataflow.

– Cada dado recebe um tag, e os dados passam a ser chamados de tagged token.– Dados com o mesmo tagged token, disparam as instruções em uma máquina dataflow dinâmica.

• Estrutuas globais onde podemos encontrar n elementos de processamento (PE), interconectados por uma rede de interconexão.• Em geral, o sistemas suporta mecanismos de interconexão pipeline.• Em cada PE existem um mecanismo para disparo de instruções, que dispara sómente aquelas cujos dados (tokens) já estão disponíveis, além dos (tags) serem coincidentes (tokens coloridos).• Instruções são armazenadas em memoria de programa. E dados são armazenados em memórias para o (matching) equiparação dos tags.•Instruções executadas geram novos tagged tokens, que são transmitidos para outras operações. •Um estrutura pipeline permite multiplos dados fluindo pelos arcos, e multiplas instruções sendo executadas em paralelo.