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.
Clique para ampliar |
Clique para ampliar |
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:
Clique para ampliar |
1) Busca Instrução na memória
2) Leitura dos registradores e decodificação das instruções
3) Execução de operação ou cálculo de endereço
4) Acesso a operando na memória
Em suma, o pipeline melhora o desempenho por meio dob 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.