You are on page 1of 29

Cincia da Computao

ARQUITETURA DE COMPUTADORES II

Mquinas Paralelas

Prof. Joo Amncio Jnior Unigran

Postulados de Von Neumann


Conceitos e idias presentes nos computadores modernos. Trs postulados bsicos de Von Neumann:
Um nico controle centralizado (uma s CPU); Uma nica memria para dados e instrues; As instrues devem fazer operaes sobre os dados.

Arquitetura de Computadores II - Mq. Paralelas

Arquitetura de Von Neumann


Ou Mquina Serial Trs subsistemas bsicos:
CPU, memria principal e sistema de entrada e sada.

Caractersticas:
a utilizao do conceito de programa armazenado; a execuo seqencial de instrues e; a existncia de um caminho nico entre memria e unidade de controle.
Arquitetura de Computadores II - Mq. Paralelas 3

Arquitetura de Von Neumann


Durante sua operao, a execuo de um programa uma seqncia de ciclos de maquina Von Neumann Ciclo de Busca-Decodificao-Execuo da Instruo

Arquitetura de Computadores II - Mq. Paralelas

Ciclo de Busca-Decodificao e Execuo da Instruo


1. Busca a prxima instruo na memria que foi apontada em PC, enviando para o registrador de instruo (RI); 2. Atualiza o contador de programa (PC) para que ele aponte para a instruo seguinte; 3. Decodifica a instruo; 4. Se a instruo usa dados de memria, determina onde eles esto; 5. Busca os dados, se houver algum, para registradores internos da CPU; 6. Executa a instruo; 7. Armazena os resultados em locais apropriados; 8. Volta ao passo 1 para iniciar a execuo da prxima instruo apontada por PC.
Arquitetura de Computadores II - Mq. Paralelas 5

Evoluo dos Computadores


Como continuar a evoluo dos computadores ? Existem vrias propostas.
Comparao Crebro x Computador

Arquitetura de Computadores II - Mq. Paralelas

Crebro x Computador
Sinal eltrico trafegando em um CI muito mais veloz que o transito de impulsos nervosos entre nossos neurnios. Computador:
Mais rpido para operaes numricas, comparar, classificar; Porem, no pensa, no inova e no aprende, apenas segue passos programados

Arquitetura de Computadores II - Mq. Paralelas

Crebro x Computador
Como o crebro consegue ser superior aos processadores, se nosso neurnio muito mais lento que um circuito eletrnico?
Resposta: temos vrios bilhes de neurnios operando em paralelo.

Concluso:
Ao invs de construirem CPUs velozes e gigantescas, usar vrias CPUs simples e confiveis, operando em paralelo.
Arquitetura de Computadores II - Mq. Paralelas 8

Processamento Paralelo
Devemos usar vrios processadores:
Mas como control-los de forma que faam

alguma coisa de til ?

Exemplo de conceito de Processamento Paralelo: construo de uma casa;


1 pedreiro constri em 1 ano; 2 pedreiros constrem em 6 meses; 100 pedreiros constrem em apenas 3,6 dias;

Conceito bsico do Processamento Paralelo:


Diviso das Tarefas
Arquitetura de Computadores II - Mq. Paralelas 9

Exemplo de Processamento Paralelo


S ser eficiente se estiverem perfeitamente sincronizados e equilibrados. Todos devem ter a mesma carga de trabalho:
Balanceamento da Carga de Trabalho.

Dois modos de balanceamento:


Trabalho idntico: cada um faz 1/100 da casa;
Trabalho especializado: uns assentam os tijolos, outros colocam o encanamento, etc.
Arquitetura de Computadores II - Mq. Paralelas 10

Exemplo de Processamento Paralelo


Algumas tarefas no podero ser paralelizadas.
Ex: 100 pedreiros assentando uma porta, etc..
Deve haver um limite para a quantidade de pedreiros que podem trabalhar em paralelo. A partir deste limite, quanto mais pedreiros colocarmos, pior ser o desempenho.

Conseqncia: aumento do tempo de construo.


Arquitetura de Computadores II - Mq. Paralelas 11

Problemas do Proc. Paralelo


At quanto podemos paralelizar uma tarefa? At quantos processadores devem ser alocados? A partir da, surgem outras questes:
como sincronizar esses processadores de forma a que um no repita o trabalho do outro ? Como garantir o balanceamento da carga de trabalho?
Arquitetura de Computadores II - Mq. Paralelas 12

Problemas do Proc. Paralelo


Dificuldades presentes no projeto do hardware de mquinas paralelas
Programao.

Diz-se que os computadores esto sempre uma gerao atrasada em relao s nossas necessidades e os programas, duas geraes atrasadas. Um desafio maior que o projeto de supercomputadores a sua programao.
Arquitetura de Computadores II - Mq. Paralelas 13

Mquinas Paralelas
Construdos usando componentes disponveis no mercado, em especial os processadores. Elementos de processamento podem variar desde ULAs, processadores, at um computador completo, com memria e dispositivos de I/O. Mdulos de memria podem ser divididos e operarem independente uns dos outros e em paralelo, permitindo que vrios processadores tenham acesso simultneo s informaes armazenadas.
Arquitetura de Computadores II - Mq. Paralelas 14

Mquinas Paralelas
Alguns computadores em paralelo so projetados para executar simultaneamente vrias tarefas independentes umas das outras, no havendo necessidade de comunicao entre estas tarefas. Exemplo:
um computador com 8 a 64 processadores rodando tarefas em tempo compartilhado, atendendo milhares de usurios remotos:
transaes bancrias, sistema de reserva de passagens reas e os grandes servidores WEB.
Arquitetura de Computadores II - Mq. Paralelas 15

Mquinas Paralelas
Podemos ter mquinas paralelas usadas para rodar uma nica tarefa dividida entre vrios processos que so executados simultaneamente.
Neste caso, o paralelismo usado para ganhar velocidade na soluo de um nico problema.

Arquitetura de Computadores II - Mq. Paralelas

16

Mquinas Paralelas
Processamento Pipeline (diviso de tarefas) Diversas ULAs operando sobre a mesma instruo ao mesmo tempo: computadores projetados para processamento Vetorial.
Todas as partes do computador trabalhando conjuntamente na mesma fase da soluo do problema. Exemplo: soma de dois vetores.
Arquitetura de Computadores II - Mq. Paralelas 17

Pipeline
Pipelining: Operao semelhante a uma linha de produo:
Operao global pode ser dividida em estgios

Cada estgio realiza uma operao mais simples


possvel realizar vrias operaes simultaneamente (cada uma em um estgio num dado momento)

Estgios operam sincronamente


Ciclo de operao ditado pelo estgio mais lento

Arquitetura de Computadores II - Mq. Paralelas

18

Pipeline
Uma tcnica de projeto onde o hardware processa mais de uma instruo de cada vez sem esperar que uma instruo termine antes de comear a prxima.

Arquitetura de Computadores II - Mq. Paralelas

19

Pipeline
Exemplo prtico: analogia ao processo para lavar roupas.

Sem pipeline:
1. Coloque uma carga de roupa suja na lavadora; 2. Quando a lavadora terminar seu trabalho, coloque as roupas molhadas na secadora; 3. Quando a secadora terminar seu trabalho, coloque as roupas secas em cima de uma mesa e dobre-as;

4. Aps dobr-las, guarde-as no armrio.

Arquitetura de Computadores II - Mq. Paralelas

20

Pipeline
Time Task order A

6 PM

10

11

12

2 AM

Sem Pipeline

B C D

6 PM Time

10

11

12

2 AM

Task order

Usando Pipeline

A B C D

Arquitetura de Computadores II - Mq. Paralelas

21

Pipeline
Exemplo prtico: analogia ao processo para lavar roupas.

Com pipeline:
1. Ao colocar na secadora a 1 carga de roupa que a lavadora terminou de lavar, coloque na lavadora a 2 carga de roupa suja;

2. Quando a 1 carga estiver seca, coloque-a sobre a mesa e dobre, e ponha a roupa limpa molhada na secadora e, na lavadora, coloque a 3 carga de roupa suja;
3. Assim que tiver guardando a roupa no armrio, comece a dobrar a 2 carga, a secadora ir processar a 3 e a lavadora a 4 carga de roupa.
Arquitetura de Computadores II - Mq. Paralelas 22

Pipeline
A essa altura, todos os passos do processo de lavagem , chamados estgios de pipeline, estaro de maneira concorrente. Sempre que tivermos recursos que podem ser separados em estgios distintos, a tarefa como um todo pode ser colocada em um pipeline.

Arquitetura de Computadores II - Mq. Paralelas

23

Pipeline
A premissa dividir a carga de trabalho, buscando otimizar a utilizao de recursos, dentro de um mesmo perodo de tempo. O pipeline no aumenta o tempo de execuo das instrues, mas sim, divide o trabalho para otimizar a utilizao de recursos dentro de uma mesma unidade de tempo.

Arquitetura de Computadores II - Mq. Paralelas

24

Pipeline
O tempo decorrido entre o momento em que um par de meias colocado na lavadora at o momento em que ele estar seco, dobrado e guardado no armrio no diminui se empregarmos a tcnica do pipeline. Operando em paralelo, podemos colocar mais carga de roupa para serem processadas na mesma unidade de tempo

Arquitetura de Computadores II - Mq. Paralelas

25

Pipeline
O processamento em pipeline divide a execuo das instrues em vrias partes, cada uma das quais tratadas por um hardware dedicado exclusivamente. Exemplo: pipeline de 5 estgios.
O primeiro estgio consiste na busca da instruo da memria e armazenamento no registrador; No segundo estgio, ocorre a decodificao da instruo, ou seja, determinar o tipo da instruo e os operandos. No terceiro estgio, ocorre a localizao e busca dos operandos que podem estar nos registradores ou na memria. No quarto estgio, tem-se a execuo propriamente dita. Finalmente, no quinto estgio, h o armazenamento dos resultados nas localizaes especificadas.

Arquitetura de Computadores II - Mq. Paralelas

26

Pipeline

Arquitetura de Computadores II - Mq. Paralelas

27

Pipeline
Busca da instruo Reg: Decodificao da instruo / leitura dos registradores. ALU: Execuo da Instruo Acesso a memria Escrita do resultado

Arquitetura de Computadores II - Mq. Paralelas

28

Pipeline
O pipeline melhora a performance por meio do aumento do nmero de instrues executadas na unidade de tempo e no por meio da diminuio do tempo de execuo de uma instruo individual.

Arquitetura de Computadores II - Mq. Paralelas

29

You might also like