12.05.2013 Views

Placas-Mãe (.pdf)

Placas-Mãe (.pdf)

Placas-Mãe (.pdf)

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

A classificação de Flynn é a mais aceita nesse momento e baseia-se em dois<br />

conceitos: fluxo de instruções e fluxo de dados. O fluxo de instruções está<br />

relacionado com o programa que o processador executa enquanto que o fluxo de<br />

dados está relacionado com os operandos manipulados por essas instruções.<br />

Tomando o fluxo de dados e o fluxo de instruções com suas possibilidades<br />

independentes, isto é, único ou múltiplo (serial ou paralelo) teríamos quatro<br />

combinações:<br />

SISD (Single Instruction Single Data)<br />

Essa arquitetura é a atual, como proposta por Von Newmann. Um único fluxo de<br />

instruções operando sobre um único dado por vez.<br />

SIMD (Single Instruction Multiple Data)<br />

Nessa arquitetura, também conhecida domo computação vetorial ou array, uma<br />

única instrução é passada ao mesmo tempo para os vários processadores, que<br />

executam a mesma instrução em um dado diferente. Um exemplo simples é o<br />

conjunto de instruções MMX. Aliás, diga-se de passagem, a Intel abriu o mercado<br />

de processadores para servidores com o lançamento do Pentium Pró com<br />

instruções MMX, em 1995 .<br />

MISD (Multiple Instruction Single Data)<br />

Essa arquitetura é conhecida como pipeline ou linha de produção. Fazendo<br />

analogia com uma linha de montagem de automóveis, 1 carro demora seis horas<br />

para ser montado, com a tarefa sendo dividida em doze equipes, cada uma<br />

gastando meia hora. O que temos são doze equipes trabalhando<br />

simultaneamente, o que faz com que cada carro seja montado em meia hora, pois<br />

a primeira equipe não precisa esperar que o carro passe pela última para começar<br />

a montar o próximo carro.<br />

MIMD (Multiple Instruction Multiple Data)<br />

Essa é a arquitetura mais complexa. É necessário que os processadores<br />

comuniquem-se entre si para fazer a sincronização e trocar informações. Além<br />

disso, é necessário ter uma memória global onde todos os processadores possam<br />

disponibilizar os resultados intermediários para os demais. Para evitar uma<br />

quantidade excessiva de acessos à essa memória, os processadores possuem a<br />

chamada memória loca, onde está a maioria das suas instruções e dados que<br />

devem ser operados.<br />

Ganho de Velocidade<br />

Idealmente o Ganho de Velocidade deveria ser igual à quantidade de<br />

processadores, o que não ocorre na prática. Quando se escreve um programa<br />

para rodar em máquinas paralelas (isso mesmo! A programação é diferente!),<br />

deve-se colocar trechos extras de programa para a sincronização dos diversos<br />

processadores e a troca de informações. Esses trechos extra têm até nome: custo<br />

de paralelização.<br />

17

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!