Pipelining

Em computadores, um pipeline é o movimento contínuo e algo sobreposto de instrução para o processador ou nas etapas aritméticas tomadas pelo processador para executar uma instrução. Pipelining é o uso de um pipeline. Sem um pipeline, um processador de computador recebe a primeira instrução da memória, executa a operação que chama, e depois vai buscar a próxima instrução da memória, e assim por diante. Ao buscar (obter) a instrução, a parte aritmética do processador é ociosa. Ele deve esperar até obter a próxima instrução. Com o pipelining, a arquitetura do computador permite que as próximas instruções sejam buscadas enquanto o processador estiver realizando operações aritméticas, mantendo-as em um buffer próximo ao processador até que cada operação de instrução possa ser realizada. A encenação do processo de busca de instruções é contínua. O resultado é um aumento no número de instruções que podem ser executadas durante um determinado período de tempo.

Pipelining é às vezes comparado a uma linha de montagem de fabricação na qual diferentes partes de um produto estão sendo montadas ao mesmo tempo, embora no final possa haver algumas partes que precisam ser montadas antes que outras sejam. Mesmo que haja alguma dependência seqüencial, o processo geral pode tirar vantagem das operações que podem ocorrer concomitantemente.

O pipeline do processador do computador às vezes é dividido em um pipeline de instruções e um pipeline aritmético. O pipeline de instruções representa as etapas em que uma instrução é movida através do processador, incluindo a sua busca, talvez tamponada, e depois executada. O pipeline aritmético representa as partes de uma operação aritmética que podem ser decompostas e sobrepostas à medida que são executadas.

Pipelines e pipelining também se aplicam aos controladores de memória do computador e à movimentação de dados através de vários locais de encenação de memória.