Pipeline

=Pipeline= Em vez de dividir a execução em apenas duas partes, muitas vezes ela é dividida em muitas partes (uma dúzia ou mais), cada uma manipulada por uma parte dedicada do hardware, e todas elas podem executar em paralelo.

// Complemento //

Pipeline é uma técnica de hardware que permite que a CPU realize a busca de uma ou mais instruções além da próxima a ser executada. Estas instruções são colocadas em uma fila de memória (dentro da CPU) onde aguardam o momento de serem executadas. A técnica de pipeline é utilizada para acelerar a velocidade de operação da CPU, uma vez que a próxima instrução a ser executada está normalmente armazenada dentro da CPU e não precisa ser buscada da memória, normalmente muito mais lenta que a CPU. Algumas CPUs incluem conceitos muito mais avançados de pipeline:


 * Pré-decodificação: a CPU pode iniciar a decodificação de diversas instruções (paralelamente) e antes do momento das mesmas serem executadas.
 * Execução fora-de-seqüência: algumas CPUs podem além de pré-decodificar, executar préviamente um determinado número de instruções. Numa etapa posterior, a ordem de execução é verificada e os resultados das operações são consolidados na sua ordem correta.
 * Previsão de desvio: caso exista uma instrução de desvio dentro do pipeline e a sua execução for consolidada, todas as instruções posteriores a mesma e que se encontram na fila devem ser abortadas

Recomendação

 * http://homes.dcc.ufba.br/~diego052/experimento/seminarios/MAT151_ProcessamentoParaleloArqSuperescalar.pdf

Referências Bibliograficas

 * [|Simulador de Pipeline Online]
 * http://docs.google.com/gview?a=v&q=cache%3AeVwgLZEdCqkJ%3Awww.edisonfilho.com%2FArquivos%2FApostilaArqComp%2FA13_AC_Pipeline.pdf+pipeline+nivel+de+instru%C3%A7%C3%A3o&hl=pt-BR&gl=br&sig=AFQjCNG8BC2QrLVALKzdFc2wZ7H006Foyw&pli=1

Por:
Djean Axt, 11 - 1ºTA Fabio, 14 - 1º TA