Pipeline
O Pipeline foi dividido em dois estágios, a
saber, o Pipeline de Renderização e o Pipeline de Visualização do Fluxo. Abaixo
uma ilustração destes Pipelines.
Pipeline de
Renderização
Pipeline de
Visualização do Fluxo
o conceito de pipeline de comandos é um dos
conceitos importantes do sistema. Uma pipeline é um processo pelo qual dois ou
mais programas podem ser executados de forma coordenada, em uma determinada
ordenação, de forma que o output de cada um é redireccionado como input do
próximo. Assim, o conjunto dos programas que são executados desta forma passa a
se comportar como um novo programa, com o input direccionado ao primeiro
programa e o output vindo do último. Desta forma podemos efectivamente combinar
a ação de vários executáveis binários de forma muito fácil e flexível, em vez
de modificar e recompilar os respectivos programas, ou mesmo escrever novos
programas para as tarefas que se queira realizar.
Em geral as shells permitem a montagem de
pipelines de comandos, que podem ser usadas na linha de comando ou em programas
de shell (shell scripts). A forma de se fazer isto é usar o caracter |
para separar os diversos comandos, em ordem, na linha de comando. Por exemplo,
para ver uma longa lista de arquivos, que não cabe no terminal, pode-se usar um
paginador, um programa que mostra uma página de cada vez. Um exemplo disto é a
combinação ls -l /etc | more, onde o comando more
é o paginador. Com o uso deste programa pode-se passar de página em página do
output do comando ls -l usando-se a barra de espaço do
teclado.
A arquitectura em pipeline das três unidades independentes de execução
do PowerPC trouxe um aumento significante ao rendimento do processamento de
instruções. O conceito de pipeline mostra que o rendimento do mesmo é
directamente proporcional à quantidade de fases em que ele é dividido. Se o pipeline
puder ser mantido cheio durante todo o tempo, então é certo que em todos os pulsos
de clock teremos execução de várias instruções simultâneas. O ganho de um pipeline
não diz respeito apenas às unidades de execução, mas também do efeito
cumulativo das unidades de execução processarem tantas instruções quantas a
profundidade do pipeline permitir, por pulso de clock.