Pipeline
O pipeline é uma técnica de implementação de processadores que permite a sobreposição temporal das diversas fases de execução das instruções. A execução de uma instrução é dividida em várias etapas ou estágios. Assim, o processador inicia a execução da próxima instrução logo que a execução do primeiro estágio da instrução atual terminar, ao invés de esperar o término da execução de toda a instrução.
Embora o tempo gasto para completar cada instrução individualmente não seja reduzido, o uso da técnica de pipeline aumenta o numero de instruções executadas simultaneamente e a taxa de instruções iniciadas e terminadas por unidade de tempo.
Por exemplo, em uma lavanderia, a lavagem de 04 (quatro) trouxas de roupas sujas, de maneira completa (lavar, secar e dobrar) leva, por hipótese, 08 (oito) horas para terminar, levando em conta que essas trouxas não poderão se misturar, as mesmas são secadas em outra máquina e depois serão dobradas e guardadas em um armário, ou seja, teremos assim, resumidamente, 04 (quatro) tarefas de 30 (trinta) minutos cada: * Lavar; * Secar; * Dobrar; * Guardar.
Portanto serão gastas 08 (oito) horas para lavar as 04 (quatro) trouxas de roupas e o tempo gasto de lavagem de cada trouxa é de 02 (duas) horas.
E se essa lavanderia conhecesse a computação, mais precisamente o processo pipeline, quanto tempo levaria?
Essa apresentação, assim, visa demonstrar como funciona todo este processo de maneira detalhada, em um processador.
2. AS OPTIMIZAÇÕES COM O PIPELINING
Os anos 60 deram origem ao inicio do desenvolvimento do primeiro supercomputador: CDC 6600. Possui 01 (um) CPU e 10 (dez) unidades de processamento periféricas, este computador tinha a possibilidade de realizar operações em paralelo. Considerando por muitos como a primeira máquina RISC, o 6600 era único também por outras razoes: era uma arquitetura load/store (em que todas as operações ocorriam de registro para registro, exceto para leituras e