Você está na página 1de 2

Tcnicas de Pipeline

Com a constante necessidade de maquinas cada vez mais poderosas, o desperdcio de tempo dentro do processador deve ser evitado ao mximo. A tcnica de Pipeline possibilita a execuo paralela das micro-instrues. Ou seja, esta tcnica permite uma sobreposio temporal das fases de execuo de uma instruo. Diante do antigo paradigma onde cada instruo era executada separadamente, passando por todas as fazes de execuo no processador (Por exemplo: leitura da memria principal, carregamento nos registradores, utilizao da ULA para processamento, escrita no registrado e escrita na memria principal), a utilizao do Pipeline dividir esta execuo em etapas permitindo a serializao no processamento das instrues. Esta tcnica foi evoluindo com o tempo e, com isso, incorporando novas idias de implementao de forma a aumentar o desempenho do processador. A seguir veremos alguns tipos de Pipeline e como elas funcionam resumidamente.

Superpipele: fcil perceber que um grande nmero de divises na execuo de uma instruo (numero de estgios de Pipeline) resulta em um melhor desempenho de processamento, pois o numero de instrues executadas em srie ser maior. Isso se o Pipeline no tiver que ser esvaziado (todos os estgios devem esperar o encerramento de uma instruo especifica) com muita freqncia. O Superpipelining se baseia nestes princpios. A desvantagem desta tcnica, quando comparado a um Pipeline, que este possui uma maior complexidade de desenvolvimento e uma maior dependncia de deteco de desvios, visto que o esvaziamento do Pipeline resultaria num desperdcio de mais estgios.

Pipeline Super Escalar: Este Pipeline obtido aumentando-se o numero de Pipelines. Ou seja, mais de um Pipeline trabalhando de forma paralela no processador. Para ele tenha um bom desempenho as instrues no devem ter muita latncia, para que diversos Pipelines trabalhem de forma sincronizada. Desta forma o processador deve possuir um bom algoritmo de tratamento de latncias.

A grande vantagem do Pipeline Super Escalar que o paralelismo na execuo das instrues acontece de forma real, possibilitando um grande aumento de desempenho. Os pontos negativos esto no fato de que as microinstrues devem ser cuidadosamente estudadas e a complexidade no tratamento de desvios aumenta significativamente.

Pipeline com Predio de Desvio: Predio de desvios so tcnicas utilizadas para evitar o esvaziamento do Pipeline, deixando o fluxo de processamento das instrues contnuo e sem quebras. Estas tcnicas podem ser implementadas por Hardware ou Software e so fundamentais para um uso eficiente do Pipeline. A predio de desvio pode ser esttica ou dinmica. Na predio esttica a unidade de controle assume que o desvio sempre ocorrer, resultando numa taxa de 50% de acerto. Na predio dinmica a unidade de controle utiliza informaes coletadas em tempo de execuo para decidir-se sobre o desvio.

Pipeline com Execuo Fora de Ordem: A Execuo Fora de ordem faz o processador reordenar as instrues para melhor aproveitar o Pipeline e evitar a seu esvaziamento. Esta reordenao complexa devido ao fato de que instrues que dependem uma das outras devem ser tratadas de forma especial. O uso da execuo fora de ordem necessita de um controle para reordenao das instrues aps execut-las.

Estes tipos de Pipiline so meramente tericos, na prtica eles podem possuir mais de uma dessas caractersticas a fim de obter um melhor de desempenho.