Pipeline (hardware): diferenças entre revisões

Origem: Wikipédia, a enciclopédia livre.
Conteúdo apagado Conteúdo adicionado
m
Linha 1: Linha 1:
{{Sem-fontes|data=outubro de 2010| arte=| Brasil=| ciência=| geografia=| música=| Portugal=| sociedade=|1=|2=|3=|4=|5=|6=}}
{{Sem-fontes|data=outubro de 2010| arte=| Brasil=| ciência=| geografia=| música=| Portugal=| sociedade=|1=|2=|3=|4=|5=|6=}}


'''Pipeline''' é uma técnica de [[hardware]] que permite que a [[CPU]] realize a busca de uma ou mais instruções além da próxima a ser executada. Estas instruções são colocadas em uma fila de [[Memória (computador)|memória]] dentro do processador (CPU) onde aguardam o momento de serem executadas, só poderá começar quando a outra instrução acabar só assim da seqüência ao procedimento.
apddpfmdfldmdlmflkdmfaklfmçdskfjaklçfjalsdkjakljçakljaklçjaklde [[hardware]] que permite que a [[CPU]] realize a busca de uma ou mais instruções além da próxima a ser executada. Estas instruções são colocadas em uma fila de [[Memória (computador)|memória]] dentro do processador (CPU) onde aguardam o momento de serem executadas, só poderá começar quando a outra instrução acabar só assim da seqüência ao procedimento.


Em resumo, é o processo pelo qual uma instrução de processamento é subdivida em etapas, uma vez que cada uma destas etapas é executada por uma porção especializada da CPU, podendo colocar mais de uma instrução em execução simultânea. Isto traz um uso mais racional da capacidade computacional com ganho substancial de velocidade. Entre os problemas enfrentados estão a dependência de instruções anteriores e desvios que dificultam o processo, bem como a diferença de complexidade de instruções que fazem com que as mesmas possam levar um tempo variável para execução.
Em resumo, é o processo pelo qual uma instrução de processamento é subdivida em etapas, uma vez que cada uma destas etapas é executada por uma porção especializada da CPU, podendo colocar mais de uma instrução em execução simultânea. Isto traz um uso mais racional da capacidade computacional com ganho substancial de velocidade. Entre os problemas enfrentados estão a dependência de instruções anteriores e desvios que dificultam o processo, bem como a diferença de complexidade de instruções que fazem com que as mesmas possam levar um tempo variável para execução.

Revisão das 20h26min de 15 de maio de 2012

apddpfmdfldmdlmflkdmfaklfmçdskfjaklçfjalsdkjakljçakljaklçjaklde hardware que permite que a CPU realize a busca de uma ou mais instruções além da próxima a ser executada. Estas instruções são colocadas em uma fila de memória dentro do processador (CPU) onde aguardam o momento de serem executadas, só poderá começar quando a outra instrução acabar só assim da seqüência ao procedimento.

Em resumo, é o processo pelo qual uma instrução de processamento é subdivida em etapas, uma vez que cada uma destas etapas é executada por uma porção especializada da CPU, podendo colocar mais de uma instrução em execução simultânea. Isto traz um uso mais racional da capacidade computacional com ganho substancial de velocidade. Entre os problemas enfrentados estão a dependência de instruções anteriores e desvios que dificultam o processo, bem como a diferença de complexidade de instruções que fazem com que as mesmas possam levar um tempo variável para execução.

A técnica de pipeline é utilizada para acelerar a velocidade de operação da CPU, uma vez que a próxima instrução a ser executada está normalmente armazenada dentro da CPU e não precisa ser buscada da memória, normalmente muito mais lenta que a CPU.

Conceito

A técnica de pipeline é semelhante a uma linha de produção de fábrica. Cada instrução de um microprocessador passa por diversas fases até sua execução. Estas fases podem ser:

  • Decodificação
  • Acesso memória ou registradores
  • Processamento aritmético

Se conseguirmos separar todas estas fases de forma independente, e separar cada fase por ciclo de relógio teríamos (neste exemplo) 3 ciclos por instrução. Se usarmos uma técnica de pipeline poderíamos colocar 3 instruções ao mesmo tempo no microprocessador (cada uma numa fase distinta) e termos 3 instruções em 3 ciclos (1 instrução por ciclo idealmente). Outros problemas advém desta técnica, como desvios (como saber as próximas instruções), e dependência de instruções (a próxima depende da anterior). Na prática todos os microprocessadores modernos utilizam-se de várias (dezenas) fases no processamento para usufruir de clocks maiores (quanto menor a fase, mais rápido pode ser o ciclo).

Uso real

Algumas CPUs incluem conceitos muito mais avançados de pipeline:

  • 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.
Ícone de esboço Este artigo sobre informática é um esboço. Você pode ajudar a Wikipédia expandindo-o.