Pipeline
Um pipeline, no contexto do processamento de computadores, é uma técnica para executar várias instruções ao mesmo tempo. Processadores de computador podem processar milhões de instruções por segundo. Cada instrução passa por várias etapas, e cada uma é processada por uma parte diferente do processador. A cada ciclo de clock, uma instrução passa de uma etapa para a seguinte e, enquanto uma instrução está passando por uma etapa, outras instruções passam simultaneamente por etapas diferentes.
Um pipeline típico de CPU envolve cinco etapas — busca da instrução, decodificação da instrução, execução, acesso à memória e gravação embora isso possa variar de acordo com a (arquitetura). Sem o uso de pipeline, um processador poderia processar apenas uma instrução por vez. Como cada instrução leva vários ciclos de clock para passar por todas as etapas, a maior parte do processador ficaria ociosa enquanto uma única instrução passasse de uma etapa para outra. O processamento sem pipeline não faz uma única instrução demorar mais, mas significa que o processador pode processar menos instruções por segundo.
O uso de pipeline em instruções funciona de maneira muito parecida com uma linha de montagem de automóveis, na qual cada estação tem uma única tarefa — instalar os bancos, montar o motor, fixar as rodas etc. Se apenas um carro estiver passando pela linha por vez, a maioria dessas estações ficará ociosa, e a fábrica não conseguirá produzir muitos carros em um dia. No entanto, se dezenas de veículos estiverem na linha ao mesmo tempo — o suficiente para manter cada estação ocupada —, muito mais carros serão concluídos em um único dia, embora cada um ainda leve o mesmo tempo.
Pipelines gráficos de GPU
Além das CPUs, as GPUs de computador também usam pipelines para processar instruções. O pipeline gráfico da GPU é mais complexo e envolve vários componentes de processamento dedicados que executam funções matemáticas para renderizar cenas e objetos 3D em imagens 2D exibidas em uma tela.
As arquiteturas de GPU variam significativamente de uma geração para outra, mas a maioria dos pipelines gráficos segue um padrão semelhante. Um pipeline gráfico simples começa convertendo as coordenadas 3D dos vértices (os cantos dos triângulos que formam cada objeto 3D) em coordenadas 2D no plano plano de uma tela. Ele transforma essas coordenadas em estruturas de arame e, em seguida, preenche a geometria entre esses vértices para criar formas. Depois, rasteriza essas formas em pixels, adicionando mapas de textura, iluminação e outros efeitos de sombreadores. Pixels ocultos e outras informações que não são visíveis para a "câmera" são descartados; depois, a imagem final é salva no buffer de quadros e exibida na tela.
Teste seus conhecimentos