ARQUITETURA DE COMPUTADORES II
Mquinas Paralelas
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
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
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
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.
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
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.
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;
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
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.
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.
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
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.
26
Pipeline
27
Pipeline
Busca da instruo Reg: Decodificao da instruo / leitura dos registradores. ALU: Execuo da Instruo Acesso a memria Escrita do resultado
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.
29