quinta-feira, 11 de outubro de 2012

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  projecto  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.








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:


  • Busca Instrução na memória
  •  Leitura dos registradores e decodificação das instruções
  •  Execução de operação ou cálculo de endereço
  • Acesso a operando na memória
  •  Escrita do resultado em registrador







Pipeline







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