segunda-feira, 13 de dezembro de 2010

Pipeline

Na década de 70 surge uma nova técnica chamada pipeline, onde a execução das instruções é dividida em várias fases consecutivas e o processador é organizado em estágios correspondentes para execução dessas instruções.
 Pipeline é uma técnica de implementação de processadores que permite a sobreposição temporal de diversas fases de execução de instruções.
 Em outras palavras, é uma técnica de projeto onde o hardware processa mais de uma instrução de cada vez sem esperar que uma instrução termine antes de começar a outra.

Processo sem pipeline

Clique na imagem para ampliar


Processo com pipeline

Numa máquina com pipeline, os mesmo estágios serão executados emparalelo: assim que um estágio termina, passa o resultado para o próximo estágio e começa a trabalhar na próxima instrução.

Clique na imagem para ampliar


Cálculo do tempo de instruções com pipeline

Clique na imagem para ampliar

Pipeline no processador
Clique na imagem para ampliar

Sintese final
 Em suma, o pipeline melhora o desempenho por meio do aumento do throughput das instruções, ou seja, aumento o número de instruções executadas na unidade de tempo, e não pela diminuição do tempo de execução de uma instrução individual.
 Speedup ideal é o número de estágios no pipeline.
 Throughput (ou taxa de transferência) é a quantidade de dados transferidos de um lugar a outro, ou a quantidade de dados processados em um determinado espaço de tempo.
Speedup potencial = número de estágios do pipeline.

Sem comentários:

Enviar um comentário