quarta-feira, 18 de agosto de 2010

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 relógio, enquanto instruções mais complexas demoravam vários ciclos de relógio 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 relógio, 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 relógio. 

As instruções circulam 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 relógio, 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 chega a multiplicar por cinco a performance do processador, na verdade a performance não chega nem mesmo a dobrar, mas o ganho é bem significativo.
in Manual de Hardware Completo
de Carlos E Marimoto

Sem comentários: