Placas-Mãe (.pdf)
Placas-Mãe (.pdf)
Placas-Mãe (.pdf)
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