Vários tipos de Pipelines actuais

 

Os Pipelines, hoje, levam muitas estruturas diferentes, do tipo Superescalar, Dinâmico, Out-of-Order, entre outros, que vêm solucionar problemas nos processadores com Pipeline, tentando minimizar o uso de bolhas nos processadores, assim maximizando o uso do processador. Ao mesmo tempo em que os processadores ficam mais sofisticados eles têm diminuído de tamanho através do uso de tecnologias de fabricação mais precisas. Isto leva a um problema de dissipação de calor. Não vou entrar em detalhes de como funciona ou como se resolvem problemas de Engenharia. Vou apenas tentar dar a idéia básica do que existe hoje no mercado e como essas tecnologias funcionam.

 

O SUPERPIPELINING:

 

Consiste em se colocar um grande número de estágios, no caso, sendo mais que 6 estágios.

 

Vantagens: Maior número de instruções sendo processadas ao mesmo tempo e maior freqüência de Clock.

 

Desvantagens: Aumenta a complexidade, dependências e desvios.

 

O PIPELINE SUPERESCALAR:

 

Consiste em se aumentar o número de pipelines, ao invés de 1, teríamos 2 ou 3 pipelines em paralelo.

 

Vantagens: Paralelismo real, com 2 ou mais instruções sendo processadas em paralelo, com melhora significativa de performance.

 

Desvantagens: Necessidade do código ser preparado, aumento de complexidade e problemas de dependências e desvios.

 

PREVISÃO DE DESVIOS:

 

Esse pipeline procura "adivinhar" qual será o comportamento de um desvio condicional.

 

Vantagens: Diminuição do número de vezes em que é necessário inserir bolhas no pipeline devido a um desvio.

 

Desvantagens: Complexidade.

 

 

PIPELINE ESPECULATIVO:

 

Ele inicia o processamento dos 2 caminhos possíveis após um desvio.

Vantagens: Elimina a perda de tempo por seguir a seqüência da instrução errada.

 

Desvantagens: Altamente complexo pois necessita dois PCs.

 

PIPELINE DINÂMICO:

 

Consiste em várias unidades de processamento em paralelo. O processador executa instruções de tipos diferentes em paralelo e em ordem invertida. Seria mais ou menos o seguinte, o processador teria um paralelo especializado em instruções de Ponto Fixo (Soma e Subtração), outro paralelo para Ponto Flutuante (senos e cosenos) e, às vezes, um terceiro paralelo para Multimídia (Som, Vídeo).

 

Vantagens: Instruções mais lentas não atrasam o processamento das instruções seguintes.

 

Desvantagens: Complexidade e dificuldade de testar o processador.

 

OUT-OF-ORDER:

 

A Execução Fora-De-Ordem faz o processador reordenar as instruções para melhor aproveitar o pipeline e evitar a inserção de bolhas. Ele necessita uma unidade de reordenação de instruções após executá-las. Pode existir em todos os tipos de pipeline mas é obrigatório em um pipeline dinâmico.

 

Vantagens: Performance otimizada e menos bolhas.

 

Desvantagens: Complexidade.

 

Esses são os pipelines mais utilizados e a maioria dos processadores utilizam várias destas técnicas ao mesmo tempo. Existem outros tipos de Pipeline, mas raramente são utilizados. Existem ainda processadores muito rápidos que não utilizam pipeline, mas isso já é outra história.

 

Voltar à página principal