[Artigo] - Pipeline

Started by Anonymous, 02 de July , 2007, 03:45:49 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Anonymous

Pipeline é a técnica utilizada em quase se não todos os processadores atualmente.

Essa pratica consiste em dividir o processador em varias partes
Ex: 10

Cada parte processara o dado/instrução e mandara para a parte seguinte até que o dado/instrução seja processado, porém caso o dado/instrução tenha sido processado no primeiro estagio ele será obrigado a passar por todos os outros estágios.

Com essa técnica é possível executar vários programas simultaneamente pois logo que o primeiro estágio fica livre e já está pronto para receber outro dado/instrução mesmo que os outros estágios estejam processando informações. Porém se o dado/instrução foi muito complexo ele ficará rodando nos estágios do processador até que termine o processamento.

Essa técnica surgiu em processadores RISC (Reduced Instruction Set Computer) e foi introduzida em processadores da INTEL como o 486, Pentium, Pentium II etc...

Desde o surgimento do pipeline ele não evolui muito, mais atualmente há alguns conceitos avançado de pipeline:

- Arrow 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 previamente 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