Paralelismo

Disponível somente no TrabalhosFeitos
  • Páginas : 22 (5361 palavras )
  • Download(s) : 0
  • Publicado : 11 de novembro de 2012
Ler documento completo
Amostra do texto
Paralelismo em Nível de Instrução

Paralelismo em Nível de Instrução
Fábio Maki Yamashiro e Felipe Correa (g14) Instituto de Computação Universidade Estadual de Campinas {fabio.yamashiro, felipe.correa}@ic.unicamp.br

Resumo
O paralelismo em nível de instrução (ILP - Instruction Level Parallelism) é uma família de técnicas de desenvolvimento de processadores e compiladores que aumentam odesempenho dos computadores, fazendo com que operações como leitura e escrita de memória, adição de inteiros, e multiplicações de ponto flutuante sejam executadas em paralelo. No nível de instruções o paralelismo é explorado por arquiteturas de processadores capazes de executar instruções ou operar dados em paralelo. Este estudo foi realizado a fim de ilustrar algumas das técnicas que exploram osrecursos dos processadores assim como dos compiladores para emitir e executar instruções em paralelo. Palavras chaves: paralelismo, nível de instrução, superescalares, pipeline, superpipeline, VLIW, predição de desvios, escalonamento, Tomasulo.

1 Introdução
Os processadores evoluíram de processadores seqüenciais para processadores “pipelined”. E com o desenvolvimento da arquitetura RISC,surgiram técnicas para o projeto de “pipelines” balanceados e eficientes. O próximo passo foi, então, disponibilizar um maior número de recursos, ou seja, implementar mais de uma unidade de execução. O paradigma ILP tenta executar mais de uma instrução por ciclo de relógio, extraindo da seqüência de instruções aquelas que são independentes, e que possam ser enviadas para as unidades de execução ao mesmotempo. O processador examina a seqüência de instruções, verifica a existência de dependência de dados ou de controle, e pode vir até a executar as instruções fora de ordem. Este estudo ilustrará as arquiteturas de superpipelining, superescalares, VLIW (Very -© 2004 Fábio Maki Yamashiro e Felipe Correa MC722 – Arquitetura de Computadores

Long Instrucion Word), o algoritmo de Tomasulo e outrastécnicas que auxiliam na implementação do processamento em paralelo no nível de instruções.

2 SuperPipelining
Um exemplo de super-pipelining é o Pentium 4 que tem 20 estágios de pipeline quando está processando a branch misprediction. A figura 6 mostra uma comparação com os 10 estágios do Pentium III. A coisa mais interessante do pipe do Pentium 4 é que a Intel dedicou dois estágios paratransmitir dados pelo chip. Esta é uma fascinante prova de que um fator limitante nos modernos IC design se tornou o tempo que leva para transmitir um sinal através das conexões do chip. Para entender o porque isto é tão fascinante, considere que a não tanto tempo atrás os designers só se preocupavam com a velocidade dos transistors, e o tempo que se Página 2-1 de 13

Paralelismo em Nível de Instruçãodemorava para atravessar uma pequena peça de metal era considerada essencialmente instantânea. Agora estamos mudando do alumínio para o cobre, só porque os elétrons se propagam mais rápido no cobre.

3 Escalonamento de Instruções

A figura acima mostra um comparativo dos pipelines do Pentiums 3 e 4. Para resolver os problemas com longos pipelines, a Intel vem trabalhando duro para resolver asfalhas no pipeline. Têm-se um longo pipeline que tem de ser descarregado muito freqüentemente, então a performance será muito menor que outros designs. Nos devemos lembrar que longos pipelines resultam em menos trabalho sendo feito por ciclo de clock. Este é o super-pipelining (ou hyper-pipelining), fazendo menos trabalho em um ciclo de clock é o que permite o ciclo de clock ser encurtado. Opipeline tem de ser executado em alta freqüência apenas para ter o mesmo trabalho de um pipeline menor. Então pode ser esperado que o Pentium 4 terá menor performance do que partes com menores pipelines com a mesma freqüência. O Pentium 4 consegue ter 126 instruções sendo executadas em paralelo enquanto procura por mais instruções e dependências.

Código de escalonamento eficiente pode aumentar a...
tracking img