TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Multiprocessadores Simétricos

Projeto de pesquisa: Multiprocessadores Simétricos. Pesquise 862.000+ trabalhos acadêmicos

Por:   •  18/2/2015  •  Projeto de pesquisa  •  1.240 Palavras (5 Páginas)  •  194 Visualizações

Página 1 de 5

1. Introdução

A busca para sofisticar a performance de um sistema de computador é antiga. Ao longo dos anos já foi proposto a utilização das mais diversas opções, como por exemplo a de uma arquitetura computacional com um processador mais rápido, previsto por Gordon Moore que a cada dezoito meses haveria um ganho de cem por cento no desempenho dos sistemas, não obstante essa previsão se concretizou por vários anos e em alguns casos até superada como a arquitetura dos processadores RISC (Reduced Instruction Set Computer).

A elaboração de algoritmos mais otimizados é um outro exemplo, contudo esta ideia não é tão simples, pois o seu alto grau de dificuldade para modificar as aplicações já existentes e que estejam em produção e seu elevado custo afastam esta possibilidade.

A opção mais comum atualmente é empregar o uso de múltiplos processadores que tenham aptidão para exercer em paralelo os comandos de um computador. A organização de múltiplos processadores mais conhecida são os multiprocessadores simétricos (SMPs), esta configuração fundamenta-se em vários processadores trabalhando em conjunto e compartilhando uma única memória através de um barramento ou circuito de conexão.

Grande parte dos algoritmos implementados por programadores é uma sequência de instruções e habitualmente um computador é conhecido desta forma, uma máquina sequencial. Contudo esta interpretação está equivocada, em nível de microoperações, diversos sinais de controle são formados simultaneamente e também existe a técnica de pipeline de instruções em que uma instrução de processamento é subdivido em etapas. Estes dois são exemplos de execução de funções em paralelo.

Primeiramente vamos apresentar uma visão geral de organizações paralelas, com uma ênfase maior na organização MIMD (Múltiplas instruções, múltiplos dados). Posteriormente será exposto a organização SMP que é uma sub-organização MIMD e por último a questão de coerência de cache que a organização SMP desperta.

2. Organizações Paralelas

Já foram propostas as mais diversas arquiteturas de computares em busca de padronizar de forma coerente as características dos diferentes sistemas computacionais. A taxonomia de Flynn proposta em 1966 é bastante utilizada e respeitada na área de arquitetura de computadores. Ela considera o processo computacional nos conceitos de sequência de instruções e sequência de dados. Em outras palavras ela leva em importância a quantidade de instruções executadas em paralelo em contraste com o conjunto de dados para os quais as instruções são subjugadas. A taxonomia de Flynn estipulou as seguintes classificações de computadores:

• Única instrução, único dado (SISD – Single Instruction, Single Data): A caracterização das máquinas SISD é que um único processador executa uma única instrução de um programa por vez como demonstrado na Figura 1. Um clássico exemplo desta arquitetura é a máquina de Von Neumann. Nela a execução sequencial pode ser potencializada com a técnica de pipelines em que uma instrução de processamento é subdivido em etapas e na medida em que conclui a execução de uma etapa e o resultado segue para o próximo estágio uma nova etapa é carregada e executada.

Figura 1: Arquitetura SISD.

• Única instrução, múltiplos dados (SIMD – Single Instruction, Multiple Data): A caracterização das máquinas SIMD é que uma única instrução de máquina processa diferentes itens de dados como demostrado na Figura 2. A sua maior utilização é para solução de problemas intensivos da área cientifica e de engenharia que utilizam estruturas de dados regulares como matrizes e vetores. Essas máquinas geralmente têm apenas uma única ULA (Unidade Lógica Aritmética) que executam uma única instrução de cada vez, entretanto cada instrução atua sobre diversos dados. Os exemplos destas máquinas são os processados matriciais e vetoriais.

Figura 2. Arquitetura SIMD.

• Múltiplas instruções, único dado (MISD – Multiple Instruction, Single Data): A caracterização das máquinas MISD é de múltiplas instruções sendo executadas sobre um único conjunto de dados como demonstrado na Figura 3. O grande problema é que esta arquitetura nunca foi implementada.

Figura 3. Arquitetura MISD.

• Múltiplas instruções, múltiplos dados (MIMD – Multiple Instruction, Multiple Data): A caracterização das máquinas MIMD é que elas possuem múltiplos processadores e cada elemento a ser processado é monitorado pela sua própria unidade de controle, executando instruções livre dos demais processador como demonstrado na Figura 4. Exemplos desta arquitetura podem ser visualizados nas arquiteturas SMPs, cluster e máquinas NUMA.

Figura 4. Arquitetura MIMD.

Figura 5. Taxonomia de arquiteturas com processadores em paralelo.

2.1. Arquitetura MIMD: Memória compartilha e distribuída

Estendendo a arquitetura MIMD podemos dividi-la, conforme Figura 5, de acordo com a forma de comunicação entre os processadores, em outras palavras, no que tange

...

Baixar como (para membros premium)  txt (8.7 Kb)  
Continuar por mais 4 páginas »
Disponível apenas no TrabalhosGratuitos.com