O que e pipeline?
De um modo grosseiro, é a capacidade que o processador tem de fazer o processamento através de fases, tornando-se, assim, muito mais otimizado e rápido. Explico: Imagine uma linha de montagem de carros, onde o carro passa por diversas fases, de funilaria, peças, etc. Essa produção funciona em paralelo para diferentes tipos de carro. Essa é a idéia básica colocada no pipeline.
De um modo grosseiro, é a capacidade que o processador tem de fazer o processamento através de fases, tornando-se, assim, muito mais otimizado e rápido. Explico: Imagine uma linha de montagem de carros, onde o carro passa por diversas fases, de funilaria, peças, etc. Essa produção funciona em paralelo para diferentes tipos de carro. Essa é a idéia básica colocada no pipeline.
O tempo para executar um programa é determinado por três fatores principais [Joh91]:
• número de instruções necessárias para executar a aplicação;
• o número médio de ciclos do processador necessários para executar a instrução;
• o tempo do ciclo do processador.
• As técnicas Superescalares tomam vantagem do paralelismo de instruções para reduzir o número de ciclos por instrução.
• Os processadores VLIW tomam vantagem do paralelismo de operações para reduzir o número de instruções.
• Os processadores Superpipeline tomam vantagem do paralelismo de instruções para reduzir o tempo do ciclo.
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.
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.
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.