Introdução
Na década de 70 surgiu 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.
Exemplo
O que antes demorava 8horas demora agora com a utilização do pipeline cerca de 4horas, basicamente metade.
Divisão da Instrução em Estágios
Em condições ideais:
- O ganho devido ao pipeline é igual ao número de estágios do pipeline, logo, idealmente, um pipeline de 5 estágios é 5 vezes mais rápido que o processador não pipeline.
Pipeline
A imagem seguinte demonstra o funcionamento do processador sem e com 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