quarta-feira, 5 de janeiro de 2011

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 é organiadoNa década de 70 surge uma nova técnica chamada pipeline, onde a execução das instruções é dividida em 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.

Exemplo do pipeline numa lavandaria

Processo Sem Papeline
Processo com Papeline
Divisão da Instrução em Estágios
Os mesmos princípios podem ser aplicados aos processadores que executam suas tarefas em pipeline.Tradicionalmente, as instruções do MIPS (Microprocessor without interlocked pipeline stages Microprocessador sem estágios interligados de pipeline) são executadas em até cinco passos:

1) Busca Instrução na memória
2) Leitura dos registadores e descodificação das instruções
3) Execução de operação ou cálculo de endereço
4) Acesso a operando na memória
5) Escrita do resultado em registador

Pipeline num processador

(clique na imagem para ampliar)
Síntese 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