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