Definição de Pipeline
Até o 386, os processadores da famÃlia x86 eram capazes de processar apenas uma instrução de cada vez. Uma instrução simples podia ser executada em apenas um ciclo de clock, enquanto instruções mais complexas demoravam vários ciclos de clock para serem concluÃdas. Seria mais ou menos como montar um carro de maneira artesanal, peça por peça.
Para melhorar o desempenho do 486, a Intel resolveu usar o pipeline, uma técnica inicialmente usada em processadores RISC, que consiste em dividir o processador em vários estágios distintos. O 486, possui um pipeline de 5 nÃveis, ou seja, é dividido em 5 estágios.
Quando é carregada uma nova instrução, ela primeiramente passa pelo primeiro estágio, que trabalha nela durante apenas um ciclo de clock, passando-a adiante para o segundo estágio. A instrução continua então sendo processada sucessivamente pelo segundo, terceiro, quarto e quinto estágios do processador. A vantagem desta técnica, é que o primeiro estágio não precisa ficar esperando a instrução passar por todos os demais para carregar a próxima, e sim carregar uma nova instrução assim que se livra da primeira, ou seja, depois do primeiro pulso de clock.
As instruções trafegam dentro do processador na ordem em que são processadas. Mesmo que a instrução já tenha sido processada ao passar pelo primeiro ou segundo estágio, terá que continuar seu caminho e passar por todos os demais. Se por acaso a instrução não tenha sido completada mesmo após passar pelos 5, voltará para o primeiro e será novamente processada, até que tenha sido concluÃda.
Desta maneira, conseguimos que o processador seja capaz de processar simultaneamente, em um único ciclo de clock, várias instruções que normalmente demorariam vários ciclos para serem processadas. Voltando ao exemplo do carro, seria como se trocássemos a produção artesanal por uma linha de produção, onde cada departamento cuida de uma parte da montagem, permitindo montar vários carros simultaneamente. O uso dos 5 estágios de pipeline no 486 não chegava a multiplicar por cinco a performance do processador, na verdade a performance não chegava nem mesmo a dobrar, mas o ganho é bem significativo.
Os processadores atuais utilizam um número muito maior de estágios de pipeline. O Pentium II possui 10, o Athlon Thunderbird possui 12 e o Pentium 4 possui 20. No Pentium 4 por exemplo, cada estágio processa uma pequena parte da instrução, que só são concluÃdas pelo último estágio, a cada ciclo, cada um dos estágios passa a instrução para a frente e recebe uma nova. Cada instrução demora 20 ciclos para ser processada, mas em compensação são processadas 20 instruções ao mesmo tempo, em fila. Mais estágios permitem que o processador seja capaz de atingir frequências mais altas, já que cada estágio fará menos trabalho por ciclo, suportando mais ciclos por segundo, mas, por outro lado, o uso de muitos estágios pode prejudicar o desempenho do processador nas operações de tomada de decisão, já que cada instrução demorará mais ciclos para ser concluÃda.